我使用 NGINX 作为服务器在 Linux 上部署了一个网站。
我的文件是小写的,位于 /susr/share/nginx/html,当我使用大写字母请求文件时,它会返回 404。
例子:https://example.com/about工作正常,但是https://example.com/About 返回 404 错误。
server {
listen 80;
listen [::]:80;
server_name example.com www.example.com;
root /usr/share/nginx/html;
location ~* ^/ {
index index.html index.htm;
# Remove .html extension
if ($request_uri ~ ^/(.*)\.html(\?|$)) {
return 302 /$1$is_args$args;
}
try_files $uri $uri.html $uri/ = 404;
}
# remove trailing slash
if (!-d $request_filename) {
rewrite ^/(.*)/$ /$1 permanent;
}
error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
我的研究表明,问题不在于 nginx 配置,而在于 Linux 文件系统。
如何在 Linux 上启用不区分大小写,以使 nginx 将大小写文件和目录视为相同。
谢谢。