【问题标题】:Redirect on deny | htaccess拒绝重定向 | htaccess
【发布时间】:2021-05-10 14:48:09
【问题描述】:

如果用户的 IP 在拒绝 IP 地址时匹配,我如何让用户被重定向,例如

<Limit GET POST PUT>
  order allow,deny
  allow from all
  deny from {removed IP address}
</Limit>

当他们被拒绝访问时,我需要将他们重定向到特定网站。

在这方面需要帮助..

【问题讨论】:

    标签: .htaccess redirect


    【解决方案1】:

    通过将此行添加到您的 .htaccess 中来设置脚本以处理 403 错误:

    ErrorDocument 403 /forbidden.php
    

    然后在脚本中处理重定向:

    <?php
    header('Location: http://google.com');
    

    或者将其全部保存在 .htaccess 中,您可以这样做:

    RewriteEngine On
    RewriteCond %{REMOTE_ADDR} 127.0.0.1
    RewriteRule (.*) http://google.com [R]
    

    【讨论】:

    • 但是添加后不是完全屏蔽了吗? “客户端被服务器配置拒绝:/myserverpath/httpdocs/403.php”。对我来说,他们是。正在研究这样的事情。但由于他们甚至在该页面上被拒绝,所以现在看不到任何意义。
    【解决方案2】:

    仅使用 htaccess 的简单解决方案

    ErrorDocument 403 https:///google.com
    Order Allow,Deny
    Allow from 127.0.0.0/8
    Allow from x.x.x.x
    Allow from y.y.y.y
    

    【讨论】:

    • 这对我来说效果很好,不需要任何重写。如果您希望每个请求都在同一个地方结束,那就太好了。
    【解决方案3】:

    请务必注释掉welcome.conf 中的指令,否则它将继续覆盖您的自定义ErrorDocument 指令。

    之后,您可以将您的 ErrorDocument 指令放入 VirtualHost、Document 指令或您的 .htaccess https://httpd.apache.org/docs/2.4/custom-error.html

    像这样:

    ErrorDocument 403 <Local file/Remote URL>
    

    如果这不起作用,那么您将不得不查看您的 CORS 规则

    【讨论】:

      猜你喜欢
      • 2012-05-31
      • 2012-04-14
      • 2013-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多