.htaccess 如果文件存在,请重写访问规则
我想使用htaccess检查名为offline.txt的文件是否与htaccess文件位于同一目录中,如果它存在,请执行以下操作:.htaccess 如果文件存在,请重写访问规则,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,我想使用htaccess检查名为offline.txt的文件是否与htaccess文件位于同一目录中,如果它存在,请执行以下操作: RewriteRule ^.*$ /websiteOffline.php [L] 也有一个特定ip地址范围的例外 其想法是,如果我想关闭整个网站进行维护,我可以简单地放置一个名为offline.txt的文件,这样做可以让某些ip绕过这种情况 对如何实现这一点有什么建议吗 谢谢 我尝试了以下代码,但似乎不起作用: RewriteEngine on RewriteC
RewriteRule ^.*$ /websiteOffline.php [L]
也有一个特定ip地址范围的例外
其想法是,如果我想关闭整个网站进行维护,我可以简单地放置一个名为offline.txt的文件,这样做可以让某些ip绕过这种情况
对如何实现这一点有什么建议吗
谢谢
我尝试了以下代码,但似乎不起作用:
RewriteEngine on
RewriteCond /offline.txt -f
RewriteRule ^(.*) /websiteOffline.php [L]
更新
刚才用了乔恩的建议如下:
RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}/offline.txt -f
RewriteRule ^(.*) /websiteOffline.php [L]
这方面的一个小问题是,文件websiteOffline.php位于应用rewritecond的文件夹中,因此无法显示该文件。任何建议您不能为
-f
测试使用相对位置。您需要包含完整路径:
RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}/folder/offline.txt -f
RewriteCond %{REQUEST_URI} !/websiteOffline.php
RewriteCond %{REMOTE_ADDR} !^12\.34\.56\.78$
RewriteRule ^(.*) /websiteOffline.php [L]
其中/folder/
是htaccess文件所在的路径
在这里,如果您的IP地址是
12.34.56.78
,并且您尝试访问该文件夹,它将不会重定向您。第一部分:查看RewriteCond
的-f
标志:RewriteCond office.txt-f
应用其中任何一种方法都可以。您不需要同时使用这两种方法。尝试了RewriteCond offline.txt-f,但似乎不起作用。我已经用我尝试过的方法更新了我的帖子。谢谢,关于如何为允许的_ips.txt文件中定义的某些ip地址重写这些规则,有什么想法吗?还有一个小问题,就是文件websiteOffline.php位于应用重写条件的文件夹中,因此无法显示该文件。有什么建议吗?谢谢