【发布时间】:2017-08-11 16:13:55
【问题描述】:
我是 nginx 服务器的新手。
我要把codeigniter等php框架部署到nginx服务器上。
我的配置文件如下。
server {
index index.html index.php index.htm;
# set expiration of assets to MAX for caching
location ~* \.(ico|css|js|gif|jpe?g|png)(\?[0-9]+)?$ {
expires max;
log_not_found off;
}
location / {
# Check if a file exists, or route it to index.php.
try_files $uri $uri/ /index.php;
}
location ~* \.php$ {
fastcgi_pass unix:/var/run/php/php7-fpm.sock;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
我的问题如下。
1)请求uri是这样的“www.domain.com/controllername/functionname/param1/param2/”
nginx 如何处理这个 url?
2)第三个位置块匹配正则表达式“.php$”。
仅当 uri 以“.php”结尾时才如此吗?
(我是这么认为的,但是那个块的 fastcgi_split_path_info 有不同的正则表达式。)
【问题讨论】:
标签: regex nginx configuration webserver