使用WordPress的通配符域重定向

|| 我有两个带有子域的域名设置,如下所示...
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规则正在干扰。 修复后,是否可以将这些mod-rewrites移至托管帐户www根目录中的主.htaccess文件,以使其与WordPress规则分开?编辑:答案-不,它们将不起作用,因为它们是停在根www之外的目录中的域。 谢谢!     
已邀请:
看起来我只需要将新规则移至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
    
我为我的网站MethodShop拥有多个域,包括methodshop.com,methodshop.net等。进行维护时,我将转移不同站点之间的流量,以使我的用户不会受到干扰。以下是我使用的htaccess通配符脚本。它采用用户尝试访问的任何URL,并在另一个域上镜像该链接。 例如,
http://methodshop.NET/games/play/bubblewrap/index.shtml
将重定向到
http://methodshop.COM/games/play/bubblewrap/index.shtml
这是methodshop.net的htaccess脚本,它将所有methodshop.net URL重写为methodshop.com。只需为您的域进行编辑。
RewriteEngine on
RewriteRule (.*)$ http://www.methodshop.com\\/$1 [R=301,L]
    

要回复问题请先登录注册