【发布时间】:2011-05-12 00:16:16
【问题描述】:
我已经阅读了大量的帖子和页面,试图弄清楚这一点。我大部分时间都在工作。我有一个 .htaccess 文件设置,我正在尝试将我网站中的任何页面从非 www 重定向 (301) 到 www 版本。
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
它似乎可以从基本 url 工作。但是,它不会重定向到子页面。
这行得通:
example.com -> www.example.com
这不起作用:
example.com/foo.html -> www.example.com/foo.html
任何帮助将不胜感激
【问题讨论】:
-
嗯...相当令人困惑我在我的网站上使用了几乎相同的重写,它工作正常。您可以尝试添加 RewriteBase / 但我不认为它应该有所作为。
-
确实很奇怪...您可以在这里尝试一个现场示例freetypes.com/foo.html 如果您删除“foo.html”,您会看到它开始工作。
-
啊,我认为您的 htaccess 中必须有另一条规则将其搞砸了。例如,如果我转到freetypes.com/bar.html,它将正确转发到 www 和 404 页面。
-
这个代码对我来说确实有效,只需稍作修改。在第 3 行,我必须将
^(.*)$替换为^(.*)/$以避免在域后出现两个斜杠//。 (使用 Django 1.5.4)
标签: mod-rewrite