2

我有一个代码点火器站点,需要接受以下格式的传入链接:

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 并被发送到特定的控制器。

4

1 回答 1

1

尝试这个:

RewriteCond ${QUERY_STRING} ^id=
RewriteRule ^(.*)\.html?id=(.*) index.php/controller/$1/$2 [L]

$2如果在重写后以某种方式附加了原始查询字符串,则可能需要在第二个之后添加问号

于 2012-09-21T14:25:56.900 回答