我在.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
(没有斜线)
我该如何解决这个问题?
答案 0 :(得分:0)
不确定为什么会发生这种情况,但当我将它们放入我的htaccess文件中时,这些规则根本不起作用。由于看起来您正在做的是将 www.domain.com 请求重定向到 domain.com 请求,您可以这样做:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [L,R=301]
而不是将规则链接在一起并将主机重写为URI路径。