使用多个未设置的查询参数重写URL .htaccess

时间:2017-01-24 14:51:49

标签: php apache .htaccess mod-rewrite url-rewriting

我已经阅读了很多关于使用多个参数进行URL重写的问题。但是我仍然无法解决这个问题:

我的网址包含多个参数,其中一些参数没有值   http://localhost:8888/coches/index.php?maker=all&model=&registration_year=&price_until=&tfseekfid=main_search&s=~

我想将其重写为http://localhost:8888/coches/all-cars

我已尝试过这条规则以及其他几条规则,但无法让它发挥作用。

RewriteRule ^all-cars$ /index.php?maker=all&model=&registration_year=&price_until=&tfseekfid=main_search&s=~ [L,QSA]

有人可以帮忙吗?感谢

1 个答案:

答案 0 :(得分:0)

包含此规则的.htaccess文件的位置非常重要。您可以在子目录中包含.htaccess个文件。

如果您的docroot中有.htaccess文件,则需要在规则中指定目录:

<IfModule mod_rewrite.c>
RewriteEngine on

RewriteRule ^coches/all-cars$ /coches/index.php?maker=all&model=&registration_year=&price_until=&tfseekfid=main_search&s=~ [L,QSA]
</IfModule>

如果文件是/coches/.htaccess,请从规则中删除前导/,使其相对于子目录:

<IfModule mod_rewrite.c>
RewriteEngine on

RewriteRule ^all-cars$ index.php?maker=all&model=&registration_year=&price_until=&tfseekfid=main_search&s=~ [L,QSA]
</IfModule>