htaccess重定向无法在Chrome或其他浏览器中使用

时间:2013-05-14 17:25:19

标签: apache .htaccess mod-rewrite

我在子文件夹中托管一个单独的网站。我在.htaccess文件中设置的规则如下:

RewriteCond %{HTTP_HOST} www.example.com
RewriteCond %{HTTP_HOST} example.com
RewriteCond %{REQUEST_URI} !subfolder/
RewriteRule ^(.*)$ subfolder/$1 [L]

这适用于Firefox(example.com重定向到www.example.com),但不能在任何其他浏览器中使用。

知道我做错了什么吗?我已经清除缓存等,但问题仍然存在。

更新

我道歉,我应该更好地解释一下。这里有两个站点,一个用于主文件夹,另一个用于子文件夹。完整的htaccess文件如下。

RewriteEngine on

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

RewriteCond %{HTTP_HOST} www.secondarysite.com
RewriteCond %{HTTP_HOST} secondarysite.com
RewriteCond %{REQUEST_URI} !subfolder/
RewriteRule ^(.*)$ subfolder/$1 [L]

第一个块用于主站点,第二个块用于辅助站点,指向子文件夹。

1 个答案:

答案 0 :(得分:0)

尝试只保留一个条件并告诉我它是否有效:

RewriteEngine  on
RewriteCond %{HTTP_HOST} !^(www\.example\.com)?$ 
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301]

然后添加你的行:

RewriteCond %{REQUEST_URI} !subfolder/
RewriteRule ^(.*)$ subfolder/$1 [L]