【问题标题】:htaccess Redirect if query string variable present如果存在查询字符串变量,则 htaccess 重定向
【发布时间】:2012-10-15 11:48:52
【问题描述】:

仅当 url 不包含 style=2 时,我才需要将 style=2 添加到目录中的所有 url。

在根目录中,我有一个 .htaccess,其中包含以下内容:

RewriteCond %{QUERY_STRING} !(?style=|&style=)
RewriteRule ^(.*)$ %1&style=2? [R=301,QSA]

我知道这是错误的。有人可以帮忙吗?

【问题讨论】:

标签: string .htaccess redirect append


【解决方案1】:

把你的代码改成这样让它工作:

RewriteCond %{QUERY_STRING} !(^|&)style=2(&|$) [NC]
RewriteRule ^ %{REQUEST_URI}?style=2 [R=301,L,QSA]

【讨论】:

  • 这是在所有浏览器上经过正确测试的代码,因此请检查您的其他 .htaccess/code 是否导致重定向过多。
  • 我想检查用户是否在 url 中没有输入任何参数
  • 你可以使用RewriteCond %{QUERY_STRING} ^$
  • 我想做一些事情,比如如果在 url 域中,即 example.com,那么我必须像 example.com/1/1 那样重定向
  • 如果 url 中已经有 example.com/1/2 之类的参数,则没有重定向
【解决方案2】:

试试这个:

RewriteCond %{QUERY_STRING} !^(.*&)?style=
RewriteRule ^(.*)$ /$1?style=2 [L,QSA,R=301]

【讨论】:

  • 我想检查 URI 中的任何关键字
  • 请提出另一个问题,并解释一下您想要做什么以及您尝试了什么,以便我们为您提供帮助。不在这里。
猜你喜欢
  • 2012-06-27
  • 1970-01-01
  • 2013-10-22
  • 1970-01-01
  • 2015-03-31
  • 1970-01-01
  • 1970-01-01
  • 2018-11-20
相关资源
最近更新 更多