所以我有网址localhost/parent/admin/news/edit/2
,我想重写它以运行localhost/parent/admin/news/edit.php?id=2
。我查看的大多数RewriteRule示例(例如this one)使用以下内容来捕获域之后的重写:
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
,我可以从中推测出两个问题:
news/
部分。希望有人可以帮助我解决这个问题,因为我花了几个小时愚弄不同的组合无济于事。
编辑:我应该补充一点,我想要捕获编辑/#的原因是因为会有多个部分带有编辑/#并且我想用一个规则捕获它们而不是写多个每个部分的具体规则。
答案 0 :(得分:0)
以下是应该起作用的:
RewriteRule /parent/admin/news/edit/([0-9]+)$ /parent/admin/news/edit.php?id=$1 [NC,QSA,L].