简单的htaccess重写停止在questionmark?

时间:2013-11-28 21:25:45

标签: .htaccess rewrite

我有一个非常简单的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。

很明显,问号是特别的,但我发现的每个简单例子似乎与我正在做的完全相同?我想在这里错过一些非常明显的东西...

1 个答案:

答案 0 :(得分:0)

你的规则如下:

RewriteEngine on

RewriteRule ^something/([^/]+)/?$ something.php?id=$1 [L,NC,QSA]

并且不要依赖http://htaccess.madewithlove.be/,因为这对于测试可靠规则不是很可靠。