要访问类似
/var/www/mysite/manage/publicURI之类的路径
/manage,您将需要使用
alias而不是
root。有关详细信息,请参见此文档。
我假设您需要从两个根目录运行PHP,在这种情况下,您将需要两个
location ~ .php块,请参见下面的示例。如果其中没有PHP
/var/www/mysite/static,则可以删除未使用的
location块。
例如:
server { listen 80; server_name example.org; error_log /usr/local/etc/nginx/logs/mysite/error.log; access_log /usr/local/etc/nginx/logs/mysite/access.log; root /var/www/mysite/static; index index.html; location / { } location ~ .php$ { try_files $uri =404; fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_param script_FILENAME $request_filename; fastcgi_param script_NAME $fastcgi_script_name; } location ^~ /manage { alias /var/www/mysite/manage/public; index index.php; if (!-e $request_filename) { rewrite ^ /manage/index.php last; } location ~ .php$ { if (!-f $request_filename) { return 404; } fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_param script_FILENAME $request_filename; fastcgi_param script_NAME $fastcgi_script_name; } }}该
^~修饰符使前缀的位置优先于在同级别的正则表达式的位置。有关详细信息,请参见此文档。
由于这个长期存在的错误,
aliasand
try_files指令不能一起使用。
在使用指令时要注意这一点
if。



