2012-03-26 123 views
0

所以我有网址localhost/parent/admin/news/edit/2,我想重写它运行localhost/parent/admin/news/edit.php?id=2。大多数的重写规则的例子,我已经看过(如this one)使用以下刚域后搭上了改写:RewriteRule多个文件夹深

RewriteRule ^products/([0-9]+)/?$ show_a_product.php?product_id=$1 [NC,L] 

然而,据我可以告诉^表示字符串的开始和,因为我的前锋远远超出了开局,所以不会奏效。因此,我想出了以下内容:

RewriteRule edit/([0-9]+)$ edit.php?id=$1 [NC,L] 

从逻辑上讲,我觉得它应该工作,我用the RegExr test尝试一下和服务一致。当我添加一个R标志转发,但是,似乎该规则指向的页面localhost/C:/xampp/htdocs/parent/edit.php?id=2,从中我可以推测两个问题:

  1. 它转发到该文件在我的电脑上,而不是在本地主机服务器(触发访问被禁止!)
  2. 它一起切出news/部分。

希望有人可以帮助我解决这个问题,因为我花了几个小时用不同的组合混搭无济于事。

编辑:我应该补充一点,我想赶上编辑/#的原因是因为会有多个部分编辑/#,我想用一条规则捕捉它们,而不是编写多个特定的每个部分的规则。

回答

0

下面是应该工作:

RewriteRule /parent/admin/news/edit/([0-9]+)$ /parent/admin/news/edit.php?id=$1 [NC,QSA,L].