【问题标题】:Htaccess redirect specific page and querystring variableHtaccess 重定向特定页面和查询字符串变量
【发布时间】:2013-10-22 03:32:20
【问题描述】:

我正在尝试使用符合这些特定要求的 .htaccess 文件进行重定向:

  1. 页面/脚本名称是 foo.php
  2. 查询字符串必须包含 p=1
  3. 可能存在任意数量的其他查询字符串变量

如果满足这些条件,你应该被重定向到:/new-url/

这是我想出的不起作用的方法。它匹配并重定向 /foo.php 但不匹配 /foo.php?p=1 或 /foo.php?p=1&x=5

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} ^foo\.php$ [NC]
RewriteCond %{QUERY_STRING} (^|&)p=1(&|$) [NC]
RewriteRule . new-url/? [R=301,L]

非常感谢您的任何帮助!

【问题讨论】:

    标签: php regex apache .htaccess mod-rewrite


    【解决方案1】:

    你可以试试:

    RewriteCond %{QUERY_STRING} (^|&)p=1(&|$) [NC]
    RewriteRule (^|/)foo\.php$ /new-url/? [R=301,L,NC]
    

    还要在不同的浏览器中测试它以避免由于R=301引起的浏览器缓存问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-25
      • 1970-01-01
      • 2015-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-08
      相关资源
      最近更新 更多