Nginx Rewite-匹配结束网址不起作用

Nginx Rewite-匹配结束网址不起作用

尝试重定向如下 URL:

http://example.com/vehicles/cars/author/xyz
http://example.com/plane/author/xyz

至这些:

http://example.com/profile/xyz

我尝试了这个 Nginx Rewrite,但是它没有选择匹配并重定向:

rewrite ^/author/(.*)$     http://example.com/profile/$1 last;

我这里犯了什么错误?

答案1

^/author/(*)$表示以 开头/author/。您要重写的 URL 不以 开头/author/。您需要类似以下内容:

rewrite ^/.*/author/(.*)$ http://example.com/profile/$1 last;

但我认为这更好,而且可能更强大:

rewrite /author/([^/]+)/?$ http://example.com/profile/$1 last;

相关内容