nginx
try_files配置
try_files uri uri/ /index.html?q=uri&args;
配置后出现500 Internal Server Error 错误,查询日志发现时由于内部重定向引发原因。具体原因是因为nginx在打开文件的时候依据规则进行判断后无法正确返回文件,或文件未找到
解决办法
if (!-e $request_filename){
rewrite ^(.*)$ /index.html?q=$1 last;
break;
}
如果文件找不到,所有请求都直接跳转root目录下的index.html。
last与break的区别在于last会重新发起请求,而break则在该次请求上做处理。