Spa*_*rky 7 subdomain wordpress .htaccess mod-rewrite redirect
我有两个域名设置与子域如下...
blog.domain.com
www.blog.domain.com
blog.domain.info
www.blog.domain.info
Run Code Online (Sandbox Code Playgroud)
两个域都指向同一服务器上的相同位置,即包含WordPress的目录.(domain.com/blog)
为了让Google满意,我希望所有内容都能重定向到这个域名......
blog.domain.com
Run Code Online (Sandbox Code Playgroud)
这是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
Run Code Online (Sandbox Code Playgroud)
所以我进入了我的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]
Run Code Online (Sandbox Code Playgroud)
问题是通配符部分似乎不起作用.
当我访问blog.domain.info时,我会按预期重定向到blog.domain.com.
但是当我去blog.domain.info/my-post时,我根本没有被重定向.
我怎样才能解决这个问题?我已经尝试过重写规则,我知道工作,但我能想到的是WordPress规则正在干扰.
一旦修复,我可以将这些mod重写移动到主机帐户的www根目录中的主.htaccess,使它们与WordPress规则分开吗? 编辑:答案 - 不,他们将无法工作,因为他们是停在根www的目录中的域.
谢谢!
Spa*_*rky 17
看起来我只需将新规则移到WordPress部分之上.我还添加了一个新的,它应该从dot 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
Run Code Online (Sandbox Code Playgroud)
编辑
应该注意的是,如果您更改了这些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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7856 次 |
| 最近记录: |