到目前为止,我已使用此代码将请求从 example.com/url/to/page 重定向到 www.example.com/url/to/page < / p>
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
最近我在我的网页上添加了 example.com/x/abc 等短链接 这些链接不应该在开头有“www”
我试过
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{REQUEST_URI} !^x/ [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
但这不起作用。 Firebug显示2个重定向:非www到www然后短链接到longlink而不是只有1个重定向短链接到longlink。每次我改变.htaccess
时我也会清空缓存如何实现正确的重定向?
答案 0 :(得分:1)
这应该有效:
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{REQUEST_URI} !^/x/ [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
%{REQUEST_URI}
在开始时从斜杠开始匹配。