programing

WordPress를 사용한 와일드카드 도메인 리디렉션

megabox 2023. 2. 7. 19:42
반응형

WordPress를 사용한 와일드카드 도메인 리디렉션

다음과 같이 하위 도메인과 함께 두 개의 도메인 이름을 설정했습니다.

blog.domain.com
www.blog.domain.com

blog.domain.info
www.blog.domain.info

두 도메인이 동일한 서버, 즉 WordPress가 포함된 디렉토리를 가리키고 있습니다.(domain.com/blog)

구글을 만족시키기 위해 모든 것을 이 하나의 도메인으로 리다이렉트하고 싶다.

blog.domain.com

다음은 WordPress 디렉토리에 포함된 .htaccess 파일의 내용입니다.

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

그래서 cPanel로 이동하여 다음과 같이 301 Domain Redirect를 추가했습니다.

blog.domain.info -> blog.domain.com ("www" 옵션 및 와일드카드 선택)

다음으로 cPanel은 WordPress의 개서 규칙 아래 동일한 .htaccess 파일에 다음 항목을 자동으로 추가합니다.

RewriteCond %{HTTP_HOST} ^blog.domain.info$ [OR]
RewriteCond %{HTTP_HOST} ^www.blog.domain.info$
RewriteRule ^(.*)$ "http\:\/\/blog\.domain\.com$1" [R=301,L]

문제는 와일드카드 부분이 작동하지 않는 것처럼 보인다는 것입니다.

blog.domain.info 에 접속하면, 예상대로 blog.domain.com 로 리다이렉트 됩니다.

그러나 blog.domain.info/my-post,에 접속해도 전혀 리다이렉트 되지 않습니다.

  1. 어떻게 하면 고칠 수 있을까요?나는 내가 알고 있는 규칙을 고쳐 써보려고 했지만 내가 생각할 수 있는 것은 워드프레스 규칙이 간섭하고 있다는 것뿐이다.

  2. 수정이 완료되면 WordPress 규칙과 분리하여 호스트 계정의 www root에 있는 메인 .htaccess로 mod-rewrites를 이동할 수 있습니까?Edit: Answer: 아니요, 이들은 루트 www의 디렉토리에 파크된 도메인이기 때문에 작동하지 않습니다.

감사합니다!

WordPress 섹션 위로 새 규칙을 이동하기만 하면 되는 것 같습니다.또한 닷컴 도메인 이름에서 'www'를 삭제해야 하는 것도 새로 추가했습니다.

이 모든 것이 효과가 있는 것 같다.

코멘트 감사합니다.

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^blog.domain.info$ [OR]
RewriteCond %{HTTP_HOST} ^www.blog.domain.info$ [OR]
RewriteCond %{HTTP_HOST} ^www.blog.domain.com$
RewriteRule ^(.*)$ "http\:\/\/blog\.domain\.com\/$1" [R=301,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

편집

이러한 Wordpress 코멘트 사이에 포함된htaccess 파일의 내용을 변경하면 나중에 Wordpress에 의해 덮어쓸 수 있습니다.커스텀 편집 내용을 이 블록 위로 이동해도 동작하며 Wordpress 자체에 의한 htaccess 변경에 영향을 받지 않습니다.

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^blog.domain.info$ [OR]
RewriteCond %{HTTP_HOST} ^www.blog.domain.info$ [OR]
RewriteCond %{HTTP_HOST} ^www.blog.domain.com$
RewriteRule ^(.*)$ "http\:\/\/blog\.domain\.com\/$1" [R=301,L]

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

저는 제 사이트 MethodShop에 methodshop.net, methodshop.net 등을 포함한 여러 도메인을 소유하고 있습니다.유지보수를 할 때는 사용자의 조작이 중단되지 않도록 다른 사이트 간에 트래픽을 전송합니다.다음은 제가 사용하는htaccess 와일드카드스크립트입니다사용자가 액세스하려고 하는 URL을 모두 사용하여 다른 도메인에서 해당 링크를 미러링합니다.

를 들어, 「」라고 하는 것은,http://methodshop.NET/games/play/bubblewrap/index.shtml

됩니다.로 .http://methodshop.COM/games/play/bubblewrap/index.shtml

다음은 methodshop.net의 모든 URL을 methodshop.com에 다시 쓰는htaccess 스크립트입니다.도메인에 맞게 편집하기만 하면 됩니다.

RewriteEngine on

RewriteRule (.*)$ http://www.methodshop.com\/$1 [R=301,L]

언급URL : https://stackoverflow.com/questions/5690673/wildcard-domain-redirect-with-wordpress

반응형