我想将http://www.example.net/anything
重写为http://example.net/anything
。但我正在寻找适用于多个不同领域的普遍规则。
我做了这个,但它不起作用
RewriteCond %{HTTP_HOST} www\.(.+)$
RewriteRule www\.(.+)$ http://$1 [R=301]
答案 0 :(得分:1)
(.+)
中的RewriteCond
捕获会将值存储到%1
,这就是RewriteRule
中您需要的内容。 www
(或域的任何部分)不会出现在值RewriteRule
进程中:
# Capture the domain without www into %1
RewriteCond %{HTTP_HOST} ^www\.(.+)$
# Rewrite the whole URI to the %1 domain
RewriteRule (.*) http://%1/$1 [L,R=301]
答案 1 :(得分:1)
RewriteRule在url Path(不包括域名)上运行:
RewriteCond %{HTTP_HOST} www\.(.+)$
RewriteRule (.*) http://%1/$1 [R=301]