我有一个代码点火器站点,需要接受以下格式的传入链接:
http://domain.tld/somename.html?id=IDREF
我需要为mod_rewrite创建一个规则,将该URL重写为:
http://domain.tld/index.php/controller/somename/IDREF
我在编写.htaccess文件的规则时遇到问题。
我认为这应该有效:
RewriteCond ${QUERY_STRING} ^(.*\.html\?id=.*)$
RewriteRule ^([^/]*)\.html\?id=(.*) /index.php/controller/$1/$2 [L]
但是因为我在mod_rewrite上有点新手,所以我无法让它工作。
只是为了澄清我希望用户链接到这个丑陋的URL并发送给特定的控制器。
答案 0 :(得分:1)
试试这个:
RewriteCond ${QUERY_STRING} ^id=
RewriteRule ^(.*)\.html?id=(.*) index.php/controller/$1/$2 [L]
如果在重写后以某种方式附加了原始查询字符串,则可能需要在第二个$2
之后添加问号