我想configuration服务器以显示维护页面。 我试过这个代码,并工作:
location / { try_files /maintenance.html $uri $uri/ @codeigniter; }
但是我注意到它会提供一个200的状态代码,这可能会导致search引擎混淆。 我认为最好的做法是返回一个503状态码。 在谷歌我find几个相关的网页,就像这样 。 然而,他们使用如果做redirect,并根据nginx文档使用ifs是不安全的。
有没有办法不使用,如果? 在这种情况下使用安全吗?
谢谢。
我认为最好的做法是返回500个状态码。
我认为你的意思是503而不是500。
他们使用
if进行redirect,并根据nginx文档使用ifs是不安全的。
if在location只有return是100%安全的 。
根据nginx的文档 ,你可以指定一个HTTP状态码作为try_files的最后一个参数。 我试过这个,但没有奏效。
这是我做的。
if (-f $document_root/maintenance.html) { return 503; } error_page 503 @maintenance; location @maintenance { rewrite ^(.*)$ /maintenance.html break; }
如果文件存在,它将显示维护页面。 一旦你删除文件,你将恢复正常。