我是.htaccess的新手,根据我的需要无法在.htaccess中写条件。我尝试了许多其他用户共享的类似解决方案,但问题仍未解决。所以这就是我在这里单独提出问题的原因。
我有一个网站,但几天后,它正处于维护模式。为此,我在根目录中创建了maintainence.php文件。因此,如果任何用户点击此域下的任何URL,那么他们将获得在maintainence.php文件中写入的消息。
但我想允许一些IP访问整个网站,域名下的任何网址。我正在尝试使用.htaccess做这件事。我认为使用.htaccess文件执行此操作是最好的方法。
我试过的内容如下:
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{REMOTE_ADDR} ^xxx\.xx\.xx\.xx$ #this is IP that I want to allow
RewriteCond %{REQUEST_URI} !=/maintainence.php
RewriteRule ^(/.*)?$ /maintainence.php [R=301,L]
</IfModule>
上述解决方案是将所有人重定向到maintainence.php,包括提到的IP。
有人可以帮我吗?提前致谢
答案 0 :(得分:0)
你几乎否认IP不允许它,所以如果你想允许一些IP并阻止其他人修改你的代码:
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{REMOTE_ADDR} !^xxx\.xx\.xx\.xx [OR]
RewriteCond %{REMOTE_ADDR} !^xxx\.xx\.xx\.xx [OR]
RewriteCond %{REMOTE_ADDR} !^xxx\.xx\.xx\.xx
# i just excluded three but you could do less or more
RewriteCond %{REQUEST_URI} !=/maintainence.php
RewriteRule ^(.*)$ /maintainence.php [R=301,L]
</IfModule>
注意:清除浏览器缓存测试。