使用mod_rewrite规范化域名

时间:2013-12-17 08:00:16

标签: apache mod-rewrite

我的网站有.htaccess,但我决定添加域名规范化 - 例如如果省略,则前缀'www'。

以下是我现在正在使用的内容:

RewriteEngine On

RewriteCond %{HTTP_HOST} !^www\.domain\.com$
RewriteRule ^.*$ http://www.domain.com/$0 [L,R=301]

RewriteRule ^$ http://www.domain.com/blog/ [L,R=301]
// etc

第一个条件/规则是我添加的条件/规则。第二个规则将空文件路径重定向到“blog /”。现在,问题是,如果我输入类似“domain.com/page”的路径,由于某种原因它会将我重定向到博客。如果我将第一条规则更改为http://www.domain.com/test?url=$0,则会将我正确地重定向到www.domain.com/test?url=page。我做错了什么,有没有办法可以看到某种日志/调试输出? (我正在使用共享主机,因此我无法访问低级别日志)

更新:现在工作正常;似乎重定向被缓存到某个地方,即使清除所有浏览器数据也无济于事。是否有可能重定向被缓存在代理级别,以及如何处理它,因为它使编辑/调试.htaccess几乎不可能?

0 个答案:

没有答案