NGinx 重定向规则

NGinx 重定向规则

我需要在 nginx 上重定向特定路径,但找不到方法 :) 特别是重定向 301 这个 URL

http://www.domain.com/c/Integratori-di-Proteine/Universal-.html
http://www.domain.com/c/Integratori-Aminoacidi/+Watt.html

分别

http://www.domain.com/c/Integratori-di-Proteine/
http://www.domain.com/c/Integratori-Aminoacidi/

我试过但没有成功

location ~ ^/c/(.+)/(.+)\.html { rewrite ^ http://www.domain.com/$1/; }

谢谢

答案1

您的 location 块缺少permanent属性。这应该可行:

location ~ ^/c/(?<section>[^/]+)/.+\.html$ {
    rewrite ^ http://www.domain.com/c/$section/ permanent;
}

我还从正则表达式中删除了第二个捕获组,因为它不再需要了。我还在正则表达式中添加了字符串结尾标识符,这样像这样的 URLhttp://www.domain.com/c/Integratori-di-Proteine/Universal-.html1234不会导致重定向,而会导致 404 页面。

编辑:改变捕获以便将其捕获到命名变量中,并且还稍微改变了正则表达式模式。

相关内容