.htaccess没有主页重定向

时间:2012-08-06 13:29:52

标签: apache .htaccess

我想将我的网站从www重定向到非www,但没有“主页”。

EG。 www.domain.com或www.domain.com/什么都不做,但www.domain.com/everything-else应重定向到domain.com/everything-else

为什么以下代码重定向也是“主页”?

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

3 个答案:

答案 0 :(得分:1)

也许是因为您还可以通过^(.*)$中的RewriteRule来允许网址请求。

试试这个:

RewriteRule ^(.+)$ http://%1/$1 [R=301,NC,L]

.*接受任何charachter零次或多次,而.+会接受任何字符一次或多次。

答案 1 :(得分:0)

关于此; http://localhost/ (index.php says $_SERVER['REQUEST_URI'] is /)

我认为,即使显示网站的根“REQUEST_URI”不能为空,也会是“/”。所以也许你应该尝试这样的事情;

RewriteEngine On

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

答案 2 :(得分:0)

这不起作用吗?

RewriteCond %{HTTP_HOST} ^www\.(.+) [NC]
RewriteCond %{REQUEST_URI} !^\/?$
RewriteRule ^(.*)$ http://%1/$1 [R=307,NC,L]