2013-06-27 47 views
2

我试图使用友好的URL是这样的:友好的URL与文件同名

RewriteRule ^index/([1-9]{1,5})$ /index.php?id=$1 [L] 
RewriteRule ^contact/([1-9]{1,5})$ /contact.php?id=$1 [L] 

但这不是工作,我想这是因为我使用的文件的名称RegEx。

这工作得很好:

RewriteRule ^home/([1-9]{1,5})$ /index.php?id=$1 [L] 
RewriteRule ^emailus/([1-9]{1,5})$ /contact.php?id=$1 [L] 

我不知道这是不可能的friedly网址使用的文件名,请,有人知道的方式来修改这个配置?在其他情况下,我将不得不更改我的文件的所有名称。

+0

你可以随时打开改写记录,看看发生了什么事情:http://httpd.apache.org/docs/current/mod/mod_rewrite.html#logging水平'trace3'将显示通过规则和重写操作的基本路径,使您能够看到这是不是工作。 –

+0

谢谢,我会试试这个 – Marcelo

回答

1

这听起来像是Multiviews的情况,而mod_negotiation在不需要的时候会养成丑陋的头部。

可能发生的事情是,你有mod_negotiation,看到请求是/contact/123,并注意到有一个​​文件,然后立即提供该文件并绕过mod_rewrite。你需要将其关闭:

Options -Multiviews