我想将所有/filename.xml文件重定向到/ filename。
我可以这样重定向单个文件
location = /mascus-export.xml {
rewrite .* /mascus-export redirect;
}
但我不想像单独列出每个.xml文件一样,而是要全部重定向。像这样:
location = /*.xml {
rewrite .* /* redirect;
}
我在每种组合中都尝试过这种类型的事情
location = /(*)$.xml {
rewrite .* /$1 redirect;
}
但似乎没有任何作用。
答案 0 :(得分:0)
您正试图编写一个正则表达式 location
块,该块以~
而不是=
开头。有关详细信息,请参见this document。
例如:
location ~ \.xml$ { ... }
rewrite
需要使用括号捕获部分URI。例如:
rewrite ^(.*)\.xml$ $1 redirect;
rewrite
可以很好地工作,要么放在上面的location
块中,要么裸露在server
块中。
如果要使用正则表达式location
块,则也不需要使用rewrite
语句。请改用return
语句。例如:
location ~ ^(.*)\.xml$ {
return 302 $1;
}