重定向不起作用?

时间:2014-01-01 01:09:16

标签: regex wordpress apache .htaccess mod-rewrite

所以我的问题是,当访问example.com/members时,我被重定向到www.example.commembers /(注意这不是一个有效的网址)而不是members.example.com(它只能在那里正常工作)是www)。但是,这种重定向似乎发生在有或没有以下htaccess文件的情况下。我需要添加/更改什么来阻止此问题。

这是我的htaccess文件,位于members文件夹中:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ http://www.example.com$1 [L,R=301]
RedirectMatch 301 ^/members/(.*)$ http://members.example.com/$1

然后在根目录中有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

1 个答案:

答案 0 :(得分:0)

问题出在你的第一条规则中。将您的代码更改为:

RewriteEngine On
RewriteBase /members/

RewriteCond %{HTTP_HOST} !^members\. [NC]    
RewriteRule ^(.*)$ http://members.example.com/$1 [L,R=301,NC]

RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301]