2008-10-30 56 views
3

我对mod_rewrite有很多麻烦,并且有一段时间我已经开始工作,但由于某种原因,一切都停止工作。如何验证mod_rewrite是否正在工作

有没有什么基本的测试,我可以做,以确保它不是根本的破碎。

它显示在phpinfo()中;

+0

看看http://stackoverflow.com/questions/215316/how-do-i-troubleshoot-why-my-rewrite-rules-arent-being-applied-by-apache的答案 – 2008-10-30 00:17:06

回答

0

使用.htaccess文件创建一些规则。如果他们不工作,然后有什么东西坏了:)

1

RewriteLog和RewriteLogLevel应该可以帮助你找出发生了什么。

http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewritelog

至于测试,安装使用curl一个shell脚本,运行它,然后看日志。

为了更健壮,您可以使用您选择的脚本语言解析 ,并针对生成的日志文件编写实际测试。

2

一个没有人提到的秘密是mod_rewrite部分是因为它是越野车混淆。

一旦你确定了解它,它会做一些奇怪的事情,你会感到沮丧,誓言永远不会再碰它。今年早些时候,我发现一个错误是described in 2001。没错,。有一个bugzilla entry for it约会2006年和一些重复。该错误很容易重现,但仍然没有修复。

甚至有一个补丁,但它没有被合并到代码中。

当然,mod_rewrite是mod_rewrite,对于发生的事情有一个很好的机会。代码和示例可能会有所帮助。