Redirect 如何使用ngnix重定向到多个子域并显示错误页面?
在Redirect 如何使用ngnix重定向到多个子域并显示错误页面?,redirect,nginx,rewrite,server,Redirect,Nginx,Rewrite,Server,在nginx中,我无法满足以下所有条件: 当访问root时,即/,重定向到/blog 访问/app时,请停留在/app 当访问任何其他内容时,例如,/fake/directory,显示404页面 通常情况下,这两种方法的结合会起作用,但第三种方法不行 我尝试了try_文件以不同的位置按一定的顺序,返回,以及重写,但缺少一些细节 我认为以下方法可行: location = / { rewrite / /blog; } location ~ /blog.* { # desired opti
nginx
中,我无法满足以下所有条件:
/
,重定向到/blog
李>
/app
时,请停留在/app
李>
/fake/directory
,显示404页面李>
通常情况下,这两种方法的结合会起作用,但第三种方法不行
我尝试了
try_文件
以不同的位置
按一定的顺序,返回
,以及重写
,但缺少一些细节 我认为以下方法可行:
location = / {
rewrite / /blog;
}
location ~ /blog.* {
# desired options, php, index, etc.
}
location /app {
# desired options, php, index, etc.
}
location / {
return 404;
}
说明:
- 如果nginx找到
,它将终止-因此=
是正常的/
和博客
位置很简单(我认为)应用
:它是前缀location/
将尝试查找最长的匹配项。nginx
和/blog
比/app
最长。/
将只匹配最后一个/fake/directory
,因此位置/
将返回404