非常简单,但出于某种原因,我无法弄清楚正确的语法:
location /ios/ {
try_files $uri $uri/ /ios/index.php$is_args$args;
}
location /cap/ {
try_files $uri $uri/ /cap/index.php$is_args$args;
}
location /aww/ {
try_files $uri $uri/ /aww/index.php$is_args$args;
}
我想要将所有这些内容组合起来,并在顶级目录中添加更多应用程序。
设置是:每个目录都是自己的应用程序(代码点火器或laravel)并驻留在domain.com/:app
我正在尝试在这里组合路径(prod站点是Apache,在这里使用nginx),但我尝试这样做的所有尝试都失败了。
我尝试了~ /([\w\-]+)/ [...] /$1/index.php[...]
但是失败了。仅使用~ /ios/
失败(导致页面下载)。
我在这里缺少什么?
答案 0 :(得分:1)
您可以使用命名位置对正确的index.php
文件执行内部重写:
location / {
try_files $uri $uri/ @rewrite;
}
location @rewrite {
rewrite ^(/[^/]+)/ $1/index.php$is_args$args last;
return 404;
}
有关详情,请参阅this document。