我有一个非常简单的Apache重写规则无效。
我想从example.com/something/123重写为example.com/something.php?id=123
如果我使用此规则:
RewriteRule ^something/(.*)$ something.php?id=$1
http://htaccess.madewithlove.be/处的htaccess测试人员将示例网址发送到example.com/something.php而没有变量。如果我用其他内容替换规则中的问号(例如破折号 - ),则规则会正确地重写为example.com/something.php-id=123。
很明显,问号是特别的,但我发现的每个简单例子似乎与我正在做的完全相同?我想在这里错过一些非常明显的东西...
答案 0 :(得分:0)
你的规则如下:
RewriteEngine on
RewriteRule ^something/([^/]+)/?$ something.php?id=$1 [L,NC,QSA]
并且不要依赖http://htaccess.madewithlove.be/,因为这对于测试可靠规则不是很可靠。