在我的PHP网站上,我有时候会向用户显示一个维护页面。我知道我可以很容易地在PHP中做到这一点,但我宁愿使用一个htaccess文件,我认为这样性能可能会更好。所以我想知道的是,我可以在PHP中修改一个htaccess文件吗?如果可能的话,我想要么,
1 -必须有两个文件,一个有下面的代码,另一个没有,两个文件都包含我的其他htaccess的东西,然后php可以重命名这两个文件,当我运行一个管理脚本切换显示哪个文件,通过改变它的名称为.htaccess
2-读取当前.htaccess文件的内容,并将下面的代码附加到其中,然后也可以在需要时将其从文件中删除。
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !^/maintenance\.php$
RewriteRule ^(.*)$ http://domain.com/maintenance.html [R=307,L]
我的目标是建立一个管理脚本,可以有一个点击处理更改维护页面显示或不显示。
请提供任何示例代码或提示如何做到这一点,或者如果它甚至可以修改一个.htaccess文件从PHP
4条答案
按热度按时间hof1towb1#
你可以用fopen打开文件,也可以用fwrite写入文件,如果你想用追加模式打开文件,请阅读使用手册。
也就是说,这听起来像是一种奇怪的做事方式。
我只需要重写检查文件是否存在的规则就可以完成您要做的事情:
如果maintenance.html文件存在,那么我的网站正在维护中。
mwg9r5ms2#
我强烈建议不要从
PHP
写.htaccess
,你必须给予web服务器用户(通常权限很低)写.htaccess
的权限;您只需要一个可利用的脚本,攻击者就可以有效地重新配置您的服务器。对于应用内切换维护模式,坚持让
PHP
自己返回维护页面。当你在应用上做维护时,很容易临时重命名一个文件到.htaccess's
位置,以启用维护重写。x0fgdtte3#
ghhaqwfi4#
选项-多视图
这一页有什么错误,它不允许我继续到下一页