.htaccess - 如果 url 包含特定字符串,htaccess 重定向

标签 .htaccess

我们安装了一个新的商店软件,并为所有旧页面设置了重定向,但有一个我无法开始工作。如果 url 包含

cp_tpl=productlist.html

然后我想重定向到主网站。所以例如旧的 url 可以是

http://www.gocellular.ca/index.php?cp_tpl=productlist.html&cp_cat=803&cp_sid=1xxxxxx

我想重定向到

www.gocellular.ca

“cp_tpl=productlist.html”可以在 url 中的任何位置 - 基本上我只想检查字符串“cp_tpl=productlist.html”是否包含在 url 中的任何位置,然后重定向。我已经尝试了大约 100 种不同的 .htaccess 重写,但就是无法正常工作!如果有任何想法,我将不胜感激……谢谢!

最佳答案

为了在查询字符串中捕获该字符串,如您在此处显示的那样,您必须使用 RewriteCond,因为不会根据重定向规则中的查询字符串检查正则表达式。像这样的东西应该可以解决问题:

RewriteCond %{QUERY_STRING} cp_tpl=productlist.html
RewriteRule .* / [R,L]

以上将保持查询字符串完整。如果你想删除查询字符串,只需添加一个 ?在/之后,即:

RewriteRule .* /? [R,L]

关于.htaccess - 如果 url 包含特定字符串,htaccess 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4120763/

相关文章:

apache - 如何在服务器 Windows 中的 plesk17 上安装 Apache

.htaccess - 301 重定向到带有 HSTS 预加载 header 的 WWW

apache - 如何忽略.htaccess?

wordpress - 将除一个之外的所有 WordPress 页面重定向到 SSL

php - htaccess 重定向未完成的任务

.htaccess - 如何在 .htaccess 中强制使用 ssl

regex - htaccess 无法正常工作

.htaccess - 如果最后一个字符不是数字或斜杠,htaccess 重写/重定向

drupal - 当安装位于关联的子目录中时,如何从 Drupal 7 中的 URL 中删除/drupal

.htaccess - HTACCESS 捕获文件名作为请求参数