![nginx 使用正则表达式重定向](https://linux22.com/image/507825/nginx%20%E4%BD%BF%E7%94%A8%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E9%87%8D%E5%AE%9A%E5%90%91.png)
我有一个用 ASP 构建的旧网站,主页网址看起来像这样“www.hifimaven.com/index.asp”。但现在新网站是使用 nginx 在 RubyOnRails 之上构建的。新主页网址为“www.hifimaven.com”。
如果用户输入旧的 URL,我该如何告诉 nginx 重定向到新的主页 URL,而不是显示 404 页面。
答案1
将重写规则放入位置将使处理更快:
location = /index.asp {
rewrite ^ http://www.hifimaven.com permanent;
}
将重写规则全局添加到服务器 {} 将导致 nginx 检查所有请求 uri 是否符合规则中的模式。从意识形态的角度来看,定位,尤其是严格比较,要快得多,也正确得多。
答案2
我不擅长 nginx 重写,但我很确定这样的事情应该可以做到
重写/index.asp$http://www.hifimaven.com永恒的;
答案3
无需封闭location
rewrite ^/index.asp$ http://www.hifimaven.com/ permanent;