仅在域时重写

时间:2015-05-31 20:01:03

标签: .htaccess url-rewriting

我想只写域,然后写它所请求的domian本身,而不是在有任何子目录时重写。

所以访问

example.com

您已发送至

example.com/fr

但是当你去

example.com/albums

你被带到了

example.com/albums

不是

example.com/fr/albums

这是

发生的事情
RewriteCond %{HTTP_HOST} ^www.example.fr [NC]
RewriteRule ^(.*)$ http://www.example.fr/fr/$1 [L,R=301,NC]

1 个答案:

答案 0 :(得分:1)

这是因为您使用(.*)在RewriteRule中捕获URI,并在用$1替换时将其追加到最后。您只需要在域上匹配并删除这两者。

试试这个。

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