.htaccess帮助需要url重写以便在已经重写的url之后传递参数

时间:2016-04-28 07:28:31

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

我的原始网址是什么样的:

localhost/aoc/product.php?pid=2&cname=australia

应用Htaccess:

Options +FollowSymlinks

RewriteEngine On

RewriteBase /aoc

RewriteRule ^product-category/([A-Za-z0-9_\-]+)/([A-Za-z0-9_\-]+).html product.php?pid=$1&cname=$2

结果网址:

localhost/aoc/product-category/1/australia.html

但我面临的问题是如何传递参数来对页面项进行排序。例如,让我想传递变量?sort=xxx&sort=xxx.如何通过编辑htaccess以最佳方式实现?

localhost/aoc/product-category/1/australia.html?sort=xxx  - Not working
localhost/aoc/product-category/1/australia.html&sort=xxx - Not working

我不希望看起来丑陋的组合在下面,但在编辑htaccess之后可以使用:

http://localhost/aoc/product-category/1/xxx/australia.html

http://localhost/aoc/product-category/1/australia.html/xxx/

请帮我解释一下。

1 个答案:

答案 0 :(得分:0)

要组合新旧查询字符串,请使用QSA(查询字符串追加)标记

 Options +FollowSymlinks

 RewriteEngine On

 RewriteBase /aoc

 RewriteRule ^product-category/([A-Za-z0-9_\-]+)/([A-Za-z0-9_\-]+).html product.php?pid=$1&cname=$2 [QSA]