【问题标题】:Modify query string value using htacces使用 htaccess 修改查询字符串值
【发布时间】:2021-04-30 23:58:39
【问题描述】:

我要重定向

https://www.example.com/signup?plan=basichttps://www.example.com/signup?plan=basic-monthlyhttps://www.example.com/signup?plan=prohttps://www.example.com/signup?plan=pro-monthly

如何使用 htaccess 实现这一点?

这里有很多与此相关的问题。但是,找不到这种特定情况的答案。

这是我尝试过但失败的代码:

RewriteCond %{QUERY_STRING} (^|&)plan=pro(&|$)
RewriteRule ^signup /$0?plan=pro-monthly [R=301,L]

此外,在尝试使用“basic”而不是“pro”时,“basic”这个词我以红色显示,就好像它是一个关键字一样。

【问题讨论】:

  • 能否在您的问题中分享您的 htaccess 规则文件您尝试了什么,谢谢。
  • @RavinderSingh13 已添加
  • 您的正确规则是正确的。您可以发布有问题的完整 .htaccess 吗?

标签: apache .htaccess mod-rewrite url-rewriting query-string


【解决方案1】:

您能否尝试以下,用所示示例编写。请确保在测试 URL 之前清除浏览器缓存。

RewriteEngine ON
RewriteCond %{QUERY_STRING} ^(plan=(?:basic|pro))$ [NC]
RewriteRule ^(signup)/?$ $1?%1-monthly [L]


第二个解决方案: 或者您也可以尝试以下方法。确保您一次放置第一个解决方案规则或这个。

RewriteEngine ON
RewriteCond %{THE_REQUEST} \s/(signup)\?(plan=(?:basic|pro))\s [NC]
RewriteRule ^ %1?%2-monthly [L]

【讨论】:

  • @FathimaLinsaK,您好 Fathima,能否请您让我知道这个(愿意在这里提供帮助),谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-03
  • 2017-09-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-21
相关资源
最近更新 更多