.htaccess 不包括特定目录中的维护页

.htaccess 不包括特定目录中的维护页,.htaccess,maintenance-mode,.htaccess,Maintenance Mode,目前,我在.htaccess文件中使用此代码来触发网站的维护页面 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{DOCUMENT_ROOT}/maintenance.html -f RewriteCond %{DOCUMENT_ROOT}/maintenance.enable -f RewriteCond %{SCRIPT_FILENAME} !maintenance.html RewriteRule ^.*$ /ma

目前,我在.htaccess文件中使用此代码来触发网站的维护页面

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}/maintenance.html -f
RewriteCond %{DOCUMENT_ROOT}/maintenance.enable -f
RewriteCond %{SCRIPT_FILENAME} !maintenance.html
RewriteRule ^.*$ /maintenance.html [R=503,L]
ErrorDocument 503 /maintenance.html
Header Set Cache-Control "max-age=0, no-store"
</IfModule>

重新启动发动机
RewriteCond%{DOCUMENT_ROOT}/maintenance.html-f
RewriteCond%{DOCUMENT_ROOT}/maintenance.enable-f
重写cond%{SCRIPT_FILENAME}!maintenance.html
重写规则^.*$/maintenance.html[R=503,L]
错误文档503/maintenance.html
标题集缓存控制“最大年龄=0,无存储”
如果我的朋友想访问我的IP地址的话,我该怎么做才能让我仍然可以访问我正在处理的目录,而不仅仅是我的IP地址

我做了一些搜索,但到目前为止还没有找到任何东西

干杯


Tom

我想说,在处理维护模式之前,您可以简单地实施一些异常规则:

<IfModule mod_rewrite.c>
RewriteEngine On

# immediately end all rewriting for specific IPV4 addresses
RewriteCond %{REMOTE_ADDR} ^123\.123\.123\.123$ [OR]
RewriteCond %{REMOTE_ADDR} ^321\.321\.321\.321$
RewriteRule ^ - [END]

# for everyone else: check for maintenance mode
RewriteCond %{DOCUMENT_ROOT}/maintenance.html -f
RewriteCond %{DOCUMENT_ROOT}/maintenance.enable -f
RewriteCond %{SCRIPT_FILENAME} !maintenance.html
RewriteRule ^.*$ /maintenance.html [R=503,L]
ErrorDocument 503 /maintenance.html
Header Set Cache-Control "max-age=0, no-store"
</IfModule>

重新启动发动机
#立即结束对特定IPV4地址的所有重写
重写条件%{REMOTE\u ADDR}^123\.123\.123\.123$[或]
重写条件%{REMOTE_ADDR}^321\.321\.321\.321\.321$
重写规则^-[完]
#对于其他人:检查维护模式
RewriteCond%{DOCUMENT_ROOT}/maintenance.html-f
RewriteCond%{DOCUMENT_ROOT}/maintenance.enable-f
重写cond%{SCRIPT_FILENAME}!maintenance.html
重写规则^.*$/maintenance.html[R=503,L]
错误文档503/maintenance.html
标题集缓存控制“最大年龄=0,无存储”

或者,您可以将否定条件作为附加条件添加到维护模式重写逻辑中。但我认为上面的内容更容易阅读和维护

好的,听起来是个不错的计划。去争取吧(或者你在这里有什么问题吗?@arkascha是的,我有,如果你读到我说我想做它,这样我可以在维护页面打开时访问它,你确实写了。但这是1。不是一个问题,而是一个陈述和2。这不是一个合适的问题。为此,你需要展示你自己解决任务的努力,而不仅仅是问:“为我做那件事”。你看,我们不是免费的编码服务。您应该能够自己使用您的工具。只有当你陷入自己的尝试时,才是在这里提出具体问题的时候。如果您不能或只是懒得开始自己的工作,那么我建议您聘请一名付费程序员来为您完成工作。@arkascha我感谢您的评论,并将修改问题的编写方式,但是我已经寻找了一个解决方案,但没有找到任何结果。请添加您自己的尝试,并指出什么不适用于它。不幸的是,由于某种原因,当使用您提供的代码时,它会出现内部错误500。您在http服务器错误日志文件中得到的确切错误消息是什么?查看后,日志文件中没有最近的错误http status 500肯定会在错误日志文件中创建一个条目,除非您明确禁用日志记录。啊,可能是因为您使用的apache http服务器非常旧,不知道
[END]
标志。在这种情况下,只需将其替换为
[L]