mod_rewrite:更改单个查询字符串参数

时间:2014-01-09 22:38:04

标签: apache .htaccess mod-rewrite

我有这样的网址:

http://foo.bar/index.php?page=this-is-the-page

现在我必须找到带有mod_rewrite的拼写错误的URL,如下所示:

http://foo.bar/index.php?page=this--is-the-page

不幸的是到目前为止我无法找到正确的 RewriteRule

Options -MultiViews
RewriteEngine On

RewriteCond %{QUERY_STRING} ^page=(\w+)--((\w+)(-(\w+))*)$
RewriteRule ^index\.php$ /index.php?page=%1-%2

问题似乎是“?”这应该意味着QSD。 无论如何,在文章中以这种方式提出了建议。 mod_rewrite to change query string parameter name

那么,如何仅使用mod_rewrite重新组织查询字符串值?搜索引擎优化友好和黑客PHP代码不是一个问题

1 个答案:

答案 0 :(得分:1)

尝试此规则:

RewriteCond %{QUERY_STRING} ^page=(.*?)--([^&]*)
RewriteRule ^index\.php$ /index.php?page=%1-%2 [L,R]