【发布时间】:2017-05-16 14:30:25
【问题描述】:
我正在尝试使用 php 和 .htaccess 文件启用/禁用站点维护模式。
我想找到一种方法来使用 PHP 注释/取消注释 .htaccess 文件中 # BEGIN/END MAINTENANCE MODE 之间的行。
# BEGIN MAINTENANCE MODE
# <IfModule mod_rewrite.c>
# RewriteEngine on
# RewriteCond %{REMOTE_ADDR} !^111\.111\.111\.111
# RewriteCond %{REQUEST_URI} !maintenance.html$ [NC]
# RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif) [NC]
# RewriteRule .* maintenance.html [R=302,L]
# </IfModule>
# END MAINTENANCE MODE
有什么想法吗?
【问题讨论】:
-
允许 PHP 修改 .htaccess 文件似乎是一个巨大的安全风险。
-
您通过创建或删除(重命名)文件
maintenance.html来切换模式,而不是通过启用/禁用该规则集。 -
php 重命名很有用:php.net/manual/en/function.rename.php
-
如何重命名?如果文件不存在,则会发生重定向,但我收到文件未找到消息...
标签: php apache .htaccess mod-rewrite url-rewriting