Apache 2.4 精确重定向匹配字符串
Posted
技术标签:
【中文标题】Apache 2.4 精确重定向匹配字符串【英文标题】:Apache 2.4 exact redirection matching strings 【发布时间】:2021-03-31 05:57:38 【问题描述】:我有一个网址: https://www.example.com/login/login.cgi?user=option
想要完全匹配 login.cgi
如果用户点击https://www.example.com/login/login.cgi 需要重定向到外部站点说www.redirect.com
如果有人点击https://www.example.com/login/login.cgi?user=option,它不会导致任何重定向。
我尝试了查询字符串的各种选项,并且重写规则似乎不起作用。
我尝试使用:
RewriteEngine On
RewriteCond %QUERY_STRING ^login.cgi$
RewriteRule ^login/$ https://www.redirect.com? [R=302,L]
【问题讨论】:
【参考方案1】:这应该适合你。
RewriteEngine on
RewriteCond %QUERY_STRING ^$
RewriteRule ^/?login/login\.cgi$ https://example.com [R,L]
这会将yoursite.com/login/login.cgi
重定向到example.com
。
条件RewriteCond %QUERY_STRING ^$
匹配empty querystring
意味着当URI 为/login/login.cgi
且没有任何查询字符串时,将应用Rewriterule
。
RewriteRule 模式开头的/?
使得可以在server.config
或htaccess
两种上下文中使用规则。
【讨论】:
@vins.vini 欢迎您!很高兴我能帮上忙。干杯:) @AmitVerma,嘿,阿米特兄弟,您好!!很抱歉,如果我在这里打扰您,请您看看回复***.com/a/65455070/5866580 一次,如果这对您来说很好:) 谢谢您一如既往的指导欢呼:)以上是关于Apache 2.4 精确重定向匹配字符串的主要内容,如果未能解决你的问题,请参考以下文章
apache 2.4中的htaccess重定向301不起作用
Apache 2.4 将本地虚拟主机重定向到 https 而不是 http
如何在 apache 2.4 RewriteRule 中使用发布数据规则编写替换和重定向 url(两者同时)?
如何在 Apache 2.4 中重定向 /path/variables/ 以重写为 /index.php/path/variables/?