我的 conf 文件中有以下内容:
server {
listen 80;
server_name a.mydomain.com;
location /f/ {
alias /var/www/sites/mydomain/photos/;
expires 1y;
}
location ~ \.(php|html)$ {
include php.conf;
}
location / {
return 301 http://www.mydomain.com$request_uri;
}
}
php.conf 在哪里
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PHP_VALUE "include_path=.:/usr/share/pear:/var/www/sites/mydomain/conf";
include /etc/nginx/fastcgi_params;
fastcgi_index index.php;
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
让我感到困惑的是,我的最终位置(“位置 /”)块完全符合我的要求。除以 /f/ 开头的请求之外的任何请求都会重定向到父 www 域。
太好了,这就是我想要的。
但是,文档另有说明。它说我拥有的正则表达式 php 块应该在最后一个“/”块之前匹配(并优先于)?
不是吗?
“检查位置指令的顺序如下:
带有 = 前缀的指令与查询完全匹配(文字字符串)。如果找到,则停止搜索。
所有剩余的带有常规字符串的指令。如果此匹配使用了 ^~ 前缀,则搜索停止。
正则表达式,按照它们在配置文件中定义的顺序。
如果 #3 产生匹配,则使用该结果。否则,将使用来自 #2 的匹配项。”