2009-02-08 84 views
1

我试图在托管网站上调试URL重写,我无法访问vhost.conf,因此无法设置重写日志。我还可以如何调试不工作的规则?为什么这个mod_rewrite规则不像记录那样工作?

这是我试图理顺规则,如果任何人有任何见解:

RewriteRule ^([^/]+)\.([^/]+)$ xslt.php [L] 

我希望有发生:有圆点的网址,但被改写为指向xslt.php没有斜杠然后停止重写,这样它就不会进入循环。究竟发生了什么? 500内部服务器错误(它闻起来像循环)。我知道我可以添加一个RewriteCond来明确排除xslt.php,但我更愿意理解为什么这是首先打破。

回答

3

为什么不循环? xslt.php有点但没有斜杠。尝试将您的选项更改为[L,NS]。

编辑:啊,我明白了。你缺少的是[L]终止这个请求的所有重写,但是仍然产生一个子请求来获得它自己的重写通道。 [NS]压制了这个传球。

+0

在这里,我虽然我的mod_rewrite的福还不错。 ;-) – 2009-02-08 23:12:04

相关问题