3

我正在尝试使用符合这些特定要求的 .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]

非常感谢您的任何帮助!

4

1 回答 1

1

你能试一下吗:

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

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

于 2013-10-14T14:25:38.540 回答