【发布时间】:2014-10-08 04:06:40
【问题描述】:
我想要实现的很简单:
如果子域以admin 开头,请尝试直接从控制器admin.php 提供服务,对于所有其他情况,请尝试使用site.php 提供文件。
请注意,我不知道域名,因为很多域名都指向我们。 到目前为止我尝试了什么:
server {
listen 8080;
root /path/to/current/web;
location / {
if ($http_host ~ "^admin") {
try_files $uri @rewriteadmin;
}
if ($http_host !~ "^admin") {
try_files $uri @rewriteapp;
}
}
location @rewriteapp {
rewrite ^(.*)$ /site.php/$1 last;
}
location @rewriteadmin {
rewrite ^(.*)$ /admin.php/$1 last;
}
...
}
当然,这个设置不起作用并给了我:[emerg] "try_files" directive is not allowed here。
请问实现这一目标的最佳做法是什么?
【问题讨论】: