【问题标题】:.htaccess Rewrite URL different pages with query string.htaccess 用查询字符串重写 URL 不同的页面
【发布时间】:2014-01-06 12:33:19
【问题描述】:

我有一个旧页面,用于根据查询字符串显示多个产品。我想将带有查询字符串的 url 重写为与旧 url 将被重写到的静态页面不同的静态页面。

   RewriteRule ^old.php$ new.php

   RewriteRule old.php?product=10 different.php [R=301,L]

在这种情况下,old.php 被重写为 new.php。但是 old.php?product=1O 被重写为 new.php?product=10 而不是 different.php

【问题讨论】:

    标签: php regex apache .htaccess mod-rewrite


    【解决方案1】:

    您无法在重写规则中匹配 QUERY_STRING。您需要使用RewriteCond %{QUERY_STRING} 来匹配查询字符串。

    使用你的规则:

    RewriteCond %{QUERY_STRING} ^$
    RewriteRule ^old\.php$ new.php [L,R]
    
    RewriteCond %{QUERY_STRING} ^product=10$
    RewriteRule ^old\.php different.php [L,R]
    

    【讨论】:

      猜你喜欢
      • 2012-11-15
      • 1970-01-01
      • 2015-05-18
      • 2012-09-19
      • 1970-01-01
      • 2015-01-25
      • 2023-03-04
      • 2012-06-16
      • 1970-01-01
      相关资源
      最近更新 更多