我正在寻找重写2个不同的地址到相同的目的地址。 有没有可能做这样的事情?
location = /foo/bar/, /to/fu/ { return 301 /re/bar/; }
或者我必须创build两个单独的redirect?
location = /foo/bar/ { return 301 /re/bar/; }
–
location = /to/fu/ { return 301 /re/bar/; }
虽然你可以通过使用正则expression式而不是位置path来做到这一点,但我不推荐它。 你最终会得到一个很复杂的configuration文件,这使得它很难维护。
我可能会删除位置条目,而是使用多个重写,因为这会给我一个更好的概述,像这样:
server_name_in_redirect on; rewrite /foo/bar/ /re/bar/ permanent; rewrite /to/fu/ /re/bar/ permanent;
在我看来,这可以很容易地看到你正在使用的redirect以及如何添加更多的redirect。 但是这是非常个人的喜好,并且使用位置并没有错!
罚款手册表明,逗号分隔多个URI是不允许的,你将不得不使用两个单独的块,或做一个正则expression式匹配。