我正在努力让nginx conf按照我们需要的方式工作。 基本上在同一个域中,我们有很多应用程序,每个应用程序都位于根文件夹中。用户安装应用程序时,无法知道文件夹的名称。
location / {
try_files $uri $uri/ /index.php?$args /index.php?q=$uri&$args;
}
location /myfiles {
try_files $uri $uri/ /myfiles/index.php?$args /myfiles index.php?q=$uri&$args;
}
如果我指定第二个文件夹,它将使myfiles中的应用程序正常工作,URL可以正确解析。如果我不这样做,那么主应用程序将尝试解析该URL,它将失败。
所以我想要类似的东西:
location /* {
try_files $uri $uri/ /$folderrequested/index.php?$args /$folderrequested/index.php?q=$uri&$args;
}
其中*是任何根文件夹,例如myfiles,mycrm,myaccount,这些文件会将业务量路由到该文件夹。
欢迎任何建议和想法!
答案 0 :(得分:0)
将所有应用程序根目录放在父目录中。
server {
listen .....;
server_name ....;
root /path/to/apps;
index index.php index.html;
location / {
}
location ~ \.php {
fastcgi_pass localhost:8000;
}
}
宾果