我有两个带有子域的域名设置,如下所示...
blog.domain.com
www.blog.domain.com
blog.domain.info
www.blog.domain.info
这两个域都指向同一服务器上的同一位置,即包含WordPress的目录。 (domain.com/blog)
为了让Google满意,我希望所有内容都重定向到该域...
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域重定向,如下所示...
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 时,我根本不会重定向。
谢谢!
最佳答案
看起来我只需要将新规则移至WordPress部分上方即可。我还添加了一个新域名,该域名应该从.com域名中删除“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
关于wordpress - 使用WordPress的通配符域重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5690673/