我继承了在nginx上运行的网站。一些页面(数十个)需要消失并被重定向,但不需要重定向大量(数百个)页面。说“允许除此列表中的所有页面之外的所有页面都能正常返回”的正确语法是什么?我能得到的最接近的是http指令中的以下代码:
# nginx configuration
server {
listen someurl.org:80;
location /about/strategic-plan {
return 301 http://www.anothersite.com;
}
}
该代码段正确地将页面/ about / strategic-plan重定向到http://www.anothersite.com,但所有其他页面请求都会生成404。如果我使用重写指令而不是return指令也是如此。
如果我删除listen指令,所有页面都能正常工作,但/ about / strategy-plan没有重定向。
我的第一个问题:如何在不必为网站中的每个页面指定位置的情况下让nginx收听域名?
第二:如何在不整个网站的情况下重定向单个页面?
我必须遗漏一些基本的东西。任何帮助表示赞赏。
答案 0 :(得分:0)
我在您的服务器中看不到root
指令。同时添加默认location
。
server {
listen someurl.org:80;
root /path/to/htmls;
location / {
# serve static files
}
location /about/strategic-plan {
return 301 http://www.anothersite.com;
}
}