假设我有example.com,我想在/之后重新写入所有内容,例如,example.com/one/two?whatever=foo应该回到example.com
我尝试了以下操作:
location = / {
index index.html;
}
location / {
rewrite ^ / permanent;
}
但是这给了我太多重定向错误。我可以使用正则表达式指定所有允许/不允许的字符,但这会使它太难看/太长/太复杂了。
为什么精确匹配不能分辨出差异?
答案 0 :(得分:1)
您使用index
指令执行从/
到/index.html
的内部重写。有关详细信息,请参见this document。
nginx
然后重新开始搜索匹配的location
,这会导致循环。
您可以为/index.html
URI添加完全匹配,例如:
location = /index.html { }
如果index.html
提取本地资源(例如css,js,图像),则还需要专门处理这些URI。