【问题标题】:Apache mod_rewrite | RewriteCond doesn't workApache mod_rewrite | RewriteCond 不起作用
【发布时间】:2013-08-26 19:20:06
【问题描述】:

我拥有一个 WordPress 网站,我对 /wp-login.php 进行了 DDoS 攻击。我正在尝试做的是使用 mod_rewrite 限制对该文件的访问,但没有运气。

更具体地说,我想要做的是只允许在查询字符串中使用关键字 google 的用户访问此文件。如果关键字不存在,那么我喜欢将用户重定向到谷歌网站。

例子:

我正在使用的htaccess如下,但似乎不起作用:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    RewriteCond %{REQUEST_FILE} \/wp\-login\.php
    RewriteCond %{QUERY_STRING} !google
    RewriteRule (.*) http://www.google.com/ [R=301,L]
</IfModule>

如何重写此规则,以使上述功能正常工作?

注意:我已经尝试了上面的规则,没有第一个 RewriteCond 检查请求的文件名,并且重定向到谷歌是正常的,但我喜欢做的是限制重定向仅适用于 wp-login.php

亲切的问候

【问题讨论】:

    标签: apache .htaccess mod-rewrite


    【解决方案1】:

    将您的代码替换为:

    <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteBase /
    
        RewriteCond %{QUERY_STRING} !^google [NC]
        RewriteRule ^wp-login\.php$ http://www.google.com/ [R=301,L,NC]
    </IfModule>
    

    确保在其他浏览器中进行测试或清除浏览器缓存。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-29
      • 1970-01-01
      • 2012-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多