Joh*_*ith 4 .htaccess mod-rewrite
我想使用 htaccess 来检查 htaccess 文件所在的目录中是否存在名为 Offline.txt 的文件,如果存在则执行以下操作:
RewriteRule ^.*$ /websiteOffline.php [L]
Run Code Online (Sandbox Code Playgroud)
并且对特定范围的 IP 地址也有例外
这个想法是,如果我想关闭整个网站进行维护,我可以简单地放置一个名为 Offline.txt 的文件,这样就可以做到这一点并允许某些 IP 绕过此条件。
关于如何实现这一目标有什么建议吗?
谢谢
我已经尝试过以下代码,但似乎不起作用:
RewriteEngine on
RewriteCond /offline.txt -f
RewriteRule ^(.*) /websiteOffline.php [L]
Run Code Online (Sandbox Code Playgroud)
更新
只是使用乔恩的建议如下:
RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}/offline.txt -f
RewriteRule ^(.*) /websiteOffline.php [L]
Run Code Online (Sandbox Code Playgroud)
一个小问题是文件 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]
Run Code Online (Sandbox Code Playgroud)
其中/folder/是您的 htaccess 文件所在的路径。
在这里,如果您的 IP 地址是12.34.56.78并且您尝试访问该文件夹,它不会重定向您。
| 归档时间: |
|
| 查看次数: |
16228 次 |
| 最近记录: |