我尝试使用Capifony禁用我在测试服务器上部署的网站。
maintenance.html文件上升,web:disable / enable命令一切正常。
我唯一的问题是如何检测维护文件,并使用Symfony提供的.htaccess文件重定向到该文件。
(我想在app _ *。php脚本中检测维护文件,但不仅感觉很乱,它也不会禁止访问web /文件夹中的其他文件。)
非常感谢任何建议。
答案 0 :(得分:1)
您可以通过网络服务器配置中的重写规则直接禁用访问权限。如果找到了maintenance.html文件重定向到它,或者另一个静态页面。对于Apache的htaccess,它将是这样的:
RewriteCond %{DOCUMENT_ROOT}/web/maintenance.html -f
RewriteRule ^/(.+) /web/maintenance.html [QSA,L] [L,QSA]
答案 1 :(得分:0)
我还没有测试过,但是Capifony lib的功能是这个片段:
ErrorDocument 503 /#{maintenance_basename}.html
RewriteEngine On
RewriteCond %{REQUEST_URI} !\.(css|gif|jpg|png)$
RewriteCond %{DOCUMENT_ROOT}/#{maintenance_basename}.html -f
RewriteCond %{SCRIPT_FILENAME} !#{maintenance_basename}.html
RewriteRule ^.*$ - [redirect=503,last]
https://github.com/everzet/capifony/blob/master/lib/symfony2/web.rb