301 错误重定向到不同的域

301 Redirect on Error to Different Domain

目前我正在使用

阻止某些用户的 IP 地址
<Limit GET POST>
 order allow,deny
 allow from all  
 deny from 3.0.0.0/8
 deny from 4.0.0.0/8
 deny from 5.152.184.0/21
 deny from 6.0.0.0/7
 deny from 8.0.0.0/7
 deny from 11.0.0.0/8
</Limit>

一旦触发 403 错误,就会使用

将他们重定向到新域
ErrorDocument 403 http://www.domain.com

我的问题不是 403 将它们重定向到外部域,而是简单地将给定 url 的 301 重定向到新域。

Basicall,如何触发此代码

RewriteCond %{HTTP_HOST} \olddomain.com$
RewriteRule ^(.*)$ http://newdomain.com/ [R=301,L]

对于我拒绝的 IP 地址?

您可以摆脱 <Limit> 容器并像这样使用 mod_rewrite:

RewriteEngine On

RewriteCond %{REQUEST_METHOD} ^(GET|POST)$
RewriteCond %{REMOTE_ADDR} ^((3|4|6|8|11)\.|5\.152\.(184\.185\.186\.187\.188\.189\.190\.191))
RewriteCond %{HTTP_HOST} olddomain\.com$
RewriteRule ^(.*)$ http://newdomain.com/ [R=301,L]