简单的mod_rewrite示例

问题描述:

我想写一个简单的mod_rewrite规则,我不知道为什么它不工作。简单的mod_rewrite示例

我只是想重写http://example.com/to/abchttp://example.com/to/index.py?to=abc

目前,我重写规则是:

RewriteEngine On 
RewriteRule ^/?to/(.*)$ /to/index.py?to=$1 

其中,据我所知,应该与类似/to/whatever任何URL,带或不带龙头/

谁能告诉我我在这里失踪了什么?

+0

这是配置问题吗? – muffinista

+0

我在日志中没有得到任何错误。我只是得到一个404错误,说/到/不存在。 – WilHall

+0

看起来规则应该没问题 - 我甚至通过重写规则测试程序运行它,所以下一个可能的事情似乎是一个配置问题。其他规则是否有效?这是在一个.htaccess文件中,如果是的话,他们打开? – muffinista

对于初学者,您还没有提及它是什么方式,确切地说,它是“不工作”。如果我猜的话,我会说,它可能循环,你需要做到这一点,而不是:

RewriteEngine On 
RewriteCond %{REQUEST_URI} !index.py 
RewriteRule ^/?to/(.*)$ /to/index.py?to=$1 [PT] 

,说:“不重写它,如果它已经被改写

的[PT ]也有说“把这个目标作为一个URI,而不是一个文件路径。

但是,为了确定,您需要告诉我们发生了什么事情,以什么方式与您想要发生的事情不同。错误日志条目将有所帮助。重写日志条目会更有帮助。