1

我想重写http://www.example.net/anythinghttp://example.net/anything. 但我正在寻找适用于多个不同域 n 阶的通用规则。

我做了这个,但它不起作用

RewriteCond %{HTTP_HOST} www\.(.+)$
RewriteRule www\.(.+)$ http://$1 [R=301]
4

2 回答 2

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]
于 2013-07-03T12:44:05.753 回答
1

RewriteRule 对 url Path 进行操作(不包括域名):

RewriteCond %{HTTP_HOST} www\.(.+)$
RewriteRule (.*) http://%1/$1 [R=301]
于 2013-07-03T12:44:12.300 回答