gpt4 book ai didi

Nginx 和处理无扩展名的文件

转载 作者:行者123 更新时间:2023-12-04 16:39:02 24 4
gpt4 key购买 nike

我试图让 Nginx 处理没有扩展名的 php 文件(即处理 http://localhost/sample 的方式与处理 http://localhost/sample.php 的方式相同)。

这是我的站点配置:

server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;

server_name localhost;

root /var/www;
index index.html index.php;

location ~ \.(hh|php)$ {
fastcgi_keep_conn on;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

location / {
try_files $uri $uri/ $uri.html @extensionless =404;
}

location @extensionless {
rewrite ^(.*)$ $1.php last;
}
}

据我所知,它应该可以解决问题。但是 - 它没有。正在尝试 http://localhost/sample只是让我进入 404 页面(而 http://localhost/sample.php 工作正常)。

打开调试时,我在日志中看到以下内容:
2015/07/19 15:37:00 [debug] 4783#0: *1 http script var: "/sample"
2015/07/19 15:37:00 [debug] 4783#0: *1 trying to use file: "/sample" "/var/www/sample"
2015/07/19 15:37:00 [debug] 4783#0: *1 http script var: "/sample"
2015/07/19 15:37:00 [debug] 4783#0: *1 trying to use dir: "/sample" "/var/www/sample"
2015/07/19 15:37:00 [debug] 4783#0: *1 http script var: "/sample"
2015/07/19 15:37:00 [debug] 4783#0: *1 http script copy: ".html"
2015/07/19 15:37:00 [debug] 4783#0: *1 trying to use file: "/sample.html" "/var/www/sample.html"
2015/07/19 15:37:00 [debug] 4783#0: *1 trying to use file: "@extensionless" "/var/www@extensionless"
2015/07/19 15:37:00 [debug] 4783#0: *1 trying to use file: "=404" "/var/www=404"

这很奇怪。它基本上看起来像@extensionless 被视为一个普通的文件名(而不是导致重写 URL 的位置)。

我错过了什么? :)
谢谢!

最佳答案

只是更新(以防有人发现这很有用)我最终让它工作了。

这是成功的配置:

server {
listen 80;

root /var/www;
index index.html index.htm index.php;

server_name localhost;

location / {
if (!-e $request_filename){
rewrite ^(.*)$ /$1.php;
}
try_files $uri $uri/ =404;
}

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;
}
}

关于Nginx 和处理无扩展名的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31502521/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com