我想将所有与文件不匹配的请求传递给/framework/root.php?path={whatever the request $uri was}
的脚本。
这适用于除/
之外的所有请求,例如http://localhost
。
这是我的Nginx配置:
PS:今天才开始使用来自Apache的Nginx。
server {
listen 80;
root /var/www/html;
server_name localhost;
location / {
try_files $uri $uri/ @root;
}
location @root {
rewrite ^(.*)$ /framework/root.php?path=$1;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /\.ht {
deny all;
}
}
答案 0 :(得分:0)
Oooo得到了它。
try_files $uri $uri/ @root;
应该是try_files $uri @root;
而不是$uri/
部分,因为它与基本/
目录匹配。