我想重写http://www.example.net/anything
为http://example.net/anything
. 但我正在寻找适用于多个不同域 n 阶的通用规则。
我做了这个,但它不起作用
RewriteCond %{HTTP_HOST} www\.(.+)$
RewriteRule www\.(.+)$ http://$1 [R=301]
我想重写http://www.example.net/anything
为http://example.net/anything
. 但我正在寻找适用于多个不同域 n 阶的通用规则。
我做了这个,但它不起作用
RewriteCond %{HTTP_HOST} www\.(.+)$
RewriteRule www\.(.+)$ http://$1 [R=301]
中的(.+)
捕获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]
RewriteRule 对 url Path 进行操作(不包括域名):
RewriteCond %{HTTP_HOST} www\.(.+)$
RewriteRule (.*) http://%1/$1 [R=301]