2

我在文件中使用这样的重定向代码.htaccess

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

当我输入时:www.domain.com/file.php它可以正常转发到domain.com/file.php

当我输入时:www.domain.com/folder/folder2我被重定向到:(domain.comfolder/folder2没有斜线)

我怎样才能解决这个问题?

4

1 回答 1

0

不知道为什么会这样,但是当我将它们放在我的 htaccess 文件中的 vanilla apache 2.2 安装中时,这些规则根本不起作用。由于看起来您所做的只是将www.domain.com请求重定向到domain.com请求,因此您可以这样做:

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

而不是将规则链接在一起并将主机重写到 URI 路径中。

于 2012-08-09T19:49:55.700 回答