我需要在 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 页面。
编辑:改变捕获以便将其捕获到命名变量中,并且还稍微改变了正则表达式模式。