mod_rewrite - 奇怪的[R]行为

时间:2010-06-16 21:49:44

标签: apache .htaccess mod-rewrite routing

我正在用mod_rewrite做一些非常简单的事情,而且表现得很奇怪。它表现得好像我正在使用[R]选项,但我不是。这是一个.htaccess文件的简单测试:

RewriteEngine on
RewriteRule ^page1$ page2

这应该将page1的请求重定向到page2,但是Web浏览器中的URL仍然指向page1。但这不会发生。它实际上将URL切换到page2,就像我使用此代码一样:

RewriteRule ^page1$ page2 [R]

为什么这样做?这不是默认行为。我正在使用我为EC2获得的预先配置的机器,所以它可能是我不知道的apache配置中的东西。谷歌搜索是徒劳的。帮助

这是Apache 2.12顺便说一句。

2 个答案:

答案 0 :(得分:1)

DirectorySlash通常是罪魁祸首。如果没有,并且没有进一步重写,请考虑使用[L]

答案 1 :(得分:0)

我修好了......不完全确定我做了什么(doh!),因为我对它进行了很多讨论。 我将尝试一些调查工作,以便我可以分享解决方案。

谢谢!