自定义403禁止使用重写条件

时间:2016-11-02 19:20:38

标签: .htaccess url-rewriting http-status-code-403

如果我通过重写条件禁止IP,如何将它们发送到自定义403页面?

param(
[parameter(mandatory=$true)]
[string]$IP,

[parameter(mandatory=$true)]
[string]$Time
)
Write-Host $IP
Write-Host $Time
当p被拒绝时,

以无限循环发送它,但是我不希望使用默认的403禁止页面。我有一个我希望显示的自定义页面。我将其命名为403error.html并将其放在顶级html目录中。我怎么能否认除自定义错误页面以外的所有页面?

2 个答案:

答案 0 :(得分:1)

是的,该规则导致无限循环错误,因为当禁止的ip尝试访问该站点时,它们首先被重定向到403页面,然后403页面重定向回自身,导致无休止的内部重定向。要解决此问题,我们需要从规则中排除403页面或重写目标:

RewriteEngine on
RewriteCond %{REMOTE_ADDR} ^00\.00\.00\.00$
RewriteRule !403error\.html$ /403error.html [L]

这将向禁止的ip显示您的自定义错误页面。

答案 1 :(得分:0)

我通过将代码直接写入ErrorDocument调用并引用/托管姐妹域所需的映像来暂时“修补”我的问题。但是,我仍然想知道是否可以在原始域中托管图像或html文档。

ErrorDocument 403 "<body bgcolor=#9C1409><br><br><center><a href=mailto:someone@somewhere.com><img src=http://www.somewhereelse.com/403error.jpg border=0></a></center>"