我有一个Apache服务器,它服务于两个域,现在在我的学校,一个域被屏蔽了,一个域不是(暂时相同的网页)。我希望,如果人们连接到我的旧域名(没有被封锁),以得到重定向,除非它来自学校的IP地址。我要怎么做,我知道这和.htaccess有关,但我不知道怎么做。
发布于 2017-05-29 19:36:21
尝试类似于.htaccess文件顶部附近的以下内容(使用mod_rewrite):
RewriteEngine On
RewriteCond %{HTTP_HOST} olddomain\.com [NC]
RewriteCond %{REMOTE_ADDR} !203\.0\.113\.123
RewriteRule (.*) http://newdomain.com/$1 [R=301,L]其中203.0.113.123是学校的外部IP地址。
这与对域重定向的任何其他域相同,只是附加了一个条件,以排除来自上述IP地址的请求。
更新:如果您在主服务器配置中执行重定向操作,则可能需要稍微更改上面的RewriteRule。如果它位于<Directory>容器中,则保持原样,否则如果它直接位于服务器配置(或虚拟主机)中,则将其更改为如下所示:
RewriteRule ^ http://newdomain.com%{REQUEST_URI} [R=301,L]https://webmasters.stackexchange.com/questions/106662
复制相似问题