我有以下服务器块:
server {
server_name *.somedomain.com
root /var/www/html/$rootpath/web;
# etc...
}
它会缓存根目录中的所有文件夹,并将其映射到folder_name.subdomain.com
网站。
现在我必须在symfony 2中创建两个文件夹,两者都应该是停滞 - 一个用于开发,第二个用作生产(但有开发数据库)。
所以我必须在里面创建两个位置块,每个位置块捕获不同的域,以便一个域重定向到app.php,第二个域重定向到app_dev.php等。
我该怎么做?位置块应该如何捕获子域?它应该看起来像:
server {
server_name *.somedomain.com;
root /var/www/html/$rootpath/web;
location /development-staging/ {
index app_dev.php
}
location /production-staging/ {
index app.php
}
}
但它会缓存*.somedomain.com/development-staging/
个链接,而不是development-staging.somedomain.com/
...
我该如何解决这个问题?谢谢!
答案 0 :(得分:1)
我同意,对于不同的子域,最好创建一个单独的服务器块。如果出于某种原因想要为1个服务器块中的不同子域定义特定行为,请执行
server {
server_name *.somedomain.com;
root /var/www/html/$rootpath/web;
location / {
if ( $host = "development-staging.somedomain.com" ) {
index app_dev.php;
}
if ( $host = "production-staging.somedomain.com" ) {
index app.php;
}
}
}