2010-06-16 102 views
0

我正在做一些非常简单的mod_rewrite,它的行为很奇怪。它表现得好像我正在使用[R]选项,但我不是。下面是.htaccess文件进行简单的测试:mod_rewrite - 奇怪[R]行为

RewriteEngine on 
RewriteRule ^page1$ page2 

这应该重定向到第一页第二页的请求,但保留URL在Web浏览器仍指向第1页。这虽然没有发生。它实际上将URL切换为page2,就好像我正在使用此代码一样:

RewriteRule ^page1$ page2 [R] 

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

这是Apache 2.12 btw。

+1

重写日志告诉你什么? – 2010-06-16 21:54:43

+0

当我根据规范(http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewritelog)启用RewriteLog时,我得到一个500错误。 GRRRR。 – Tal 2010-06-17 18:39:41

回答

0

我修正了它...不完全确定我做了什么(doh!),因为我用它来解决它。 我会尝试进行一些调查性工作,以便我可以分享解决方案。

谢谢!

1

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

+0

谢谢!不幸的是,那不是...还有其他想法吗? – Tal 2010-06-16 22:00:11