【问题标题】:.htaccess help needed for url rewriting for passing parameters after already rewritten url.htaccess 帮助在已经重写 url 后传递参数的 url 重写
【发布时间】:2016-04-28 07:28:30
【问题描述】:

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

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/

请帮我解释一下。

【问题讨论】:

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


    【解决方案1】:

    要合并新旧查询字符串,请使用 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]
    

    【讨论】:

    • 哇!这简直是​​对我的问题的真棒和准确的答案。感谢@starkeen 的精彩回答。
    猜你喜欢
    • 2010-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多