我需要将仅一个页面的非 www 版本(即主页)重定向到 www。
我想独自离开网站的其余部分。由于需要保留非 www 的特定页面。
所以如果我尝试重写规则
/index.html http://www.example.com/
我收到一个无限重定向类型错误。
我需要将仅一个页面的非 www 版本(即主页)重定向到 www。
我想独自离开网站的其余部分。由于需要保留非 www 的特定页面。
所以如果我尝试重写规则
/index.html http://www.example.com/
我收到一个无限重定向类型错误。
可能有一种方法可以实现您想要的,尽管我必须说这有点“味道”。听起来您正在尝试治疗单一症状而不是解决问题(诚然,这可能超出您的控制范围)。您的组织是否可能需要设置域指针,以便 www.example.com 和 examples.com 完全相同?
所以你要
http://example.com/
去http://www.example.com/
,但你想要
http://example.com/index.html
,http://example.com/otherstuff
, 和http://example.com/subdir/path/file.php
保持不变?
对于阿帕奇:
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^/$ http://www.example.com/ [R=301,L]
如果您希望站点上的任何非 www 子域被重定向到 www 版本:
RewriteCond %{HTTP_HOST} !^www\..+$ [NC]
RewriteRule ^/$ http://www.%{HTTP_HOST}/ [R=301,L]
如果您想重定向除特定页面之外的所有内容:
RewriteCond %{REQUEST_URI} !^/subdir/path/file.php$
RewriteCond %{HTTP_HOST} !^www\..+$ [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]