我正在尝试实现一个简单的Apache mod重写,并且遇到了问题。我提供的模式似乎并不匹配,尽管我可以说它应该是。
我将这些规则放在我的.htaccess文件中。这是完整的文件:
RewriteEngine on
RewriteRule ^détails-details-eng.php/([\d]+)/*([\w'-]*)$ détails-details-eng.php?id=$1 [L]
# done for testing
RewriteRule ^mytest/?$ index.php [NC,L]
我正在寻找的功能,巧合地类似于stackoverflow的网址外观。当我浏览
时détails-details-eng.php/1/somtext
我去了détails-details-eng.php页面,但是没有传递1的id(快速print_r($ _ GET)确认)。我知道mod_rewrite已启用,因为转到:
mytest
按原样解析为index.php。
谁能告诉我这里做错了什么?当我通过RegExr检查我的正则表达式时 它似乎是我在寻找的东西。很感谢任何形式的帮助。谢谢!
答案 0 :(得分:1)
以下是您需要的规则:
RewriteRule ^détails-details-eng\.php/([^/]+)/[^/]*/?$ détails-details-eng.php?id=$1 [L,NC,QSA]