RewriteRule:获取一个没有QSA的参数

时间:2014-03-22 13:46:10

标签: apache .htaccess mod-rewrite

我有这个网址:

example.com/dolce-vita/fr/camping.php?CAMPING-LES-MYRTILLES&p=839000231

我希望将它重定向到这个:

example.com/rechercher-sur-le-site-45-1.html?q=CAMPING-LES-MYRTILLES

我试过了:

RewriteRule camping\.php?(.*) /rechercher-sur-le-site-45-1.html?q=$1 [NE,R=301,L]
RewriteRule camping\.php\?([a-zA-Z0-9]+)& /rechercher-sur-le-site-45-1.html?q=$1 [NE,R=301,L]

由于我无法使用 QSA 标记,我有点迷失:在我要重写的网址中,我有p=XX这是我已经使用的参数(例如:/rechercher-sur-le-site-45-1.html?q=表示index.php?p=45)所以如果我使用QSA,它会在末尾添加p=839000231并覆盖我的p=45参数...

坦克帮助你:)

1 个答案:

答案 0 :(得分:0)

你可以这样做

RewriteCond %{QUERY_STRING} ^([^&]+)
RewriteRule ^dolce-vita/fr/camping\.php$ /rechercher-sur-le-site-45-1.html?q=%1 [NE,R=301,L]

有关%{QUERY_STRING} here的更多信息 有关mod_rewrite here

的更多信息