【问题标题】:Apache 2.4 exact redirection matching stringsApache 2.4 精确重定向匹配字符串
【发布时间】: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]

【问题讨论】:

    标签: redirect query-string httpd.conf apache2.4


    【解决方案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,嘿,阿米特兄弟,您好!!很抱歉,如果我在这里打扰您,请您看看回复stackoverflow.com/a/65455070/5866580 一次,如果这对您来说很好:) 谢谢您一如既往的指导欢呼:)
    猜你喜欢
    • 2013-01-14
    • 2021-10-18
    • 1970-01-01
    • 1970-01-01
    • 2022-11-26
    相关资源
    最近更新 更多