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.confightaccess 两种上下文中使用规则。

【讨论】:

@vins.vini 欢迎您!很高兴我能帮上忙。干杯:) @AmitVerma,嘿,阿米特兄弟,您好!!很抱歉,如果我在这里打扰您,请您看看回复***.com/a/65455070/5866580 一次,如果这对您来说很好:) 谢谢您一如既往的指导欢呼:)

以上是关于Apache 2.4 精确重定向匹配字符串的主要内容,如果未能解决你的问题,请参考以下文章