我正在尝试将每个人重定向到维护页面,但我的静态IP除外。在我的站点目录中,我有.htaccess文件,其中xx是我的ip
RewriteEngine On
RewriteBase /
RewriteCond %{REMOTE_HOST} !^xx.xxx.xxx.xx
RewriteRule .* /maintenance.html [R=302,L]
但是当我从另一个地方访问时,我得到了
ERR_TOO_MANY_REDIRECTS
在我的网站虚拟主机中我有
<VirtualHost *:80>
ServerAdmin server@admin.com
ServerName something.com
ServerAlias www.something.com
DocumentRoot /var/www/something.com/public_html/
ErrorLog /var/www/something.com/logs/error.log
CustomLog /var/www/something.com/logs/access.log combined
<Directory /var/www/something.com/public_html/>
Require all granted
AllowOverride All
</Directory>
</VirtualHost>
如何停止重定向循环的任何想法?
答案 0 :(得分:1)
是的,这是一个重定向循环,因为您无条件地重定向到maintenance.html
。
防止重定向循环使用:
RewriteEngine On
RewriteCond %{REMOTE_HOST} !^xx.xxx.xxx.xx
RewriteRule !^maintenance\.html$ /maintenance.html [R=302,L,NC]
这意味着,如果您的请求已经maintenance.html
,则不会重定向。