Nginx配置需求:无尾随斜杠加载文件且禁止自动跳转
Nginx 配置实现无后缀文件HTML渲染
把你当前的location /配置替换成以下内容,即可满足所有需求:
location / { try_files $uri $uri/ @proxy; index index.html; # 给无后缀的已存在文件强制设置HTML类型,避免触发下载 if (-f $request_filename) { if ($request_uri !~* "\.[a-zA-Z0-9]+$") { add_header Content-Type text/html; } } }
配置说明
- 访问
/filename时:Nginx检测到对应文件存在,且请求无后缀,会强制设置Content-Type: text/html,浏览器直接渲染文件内容而非触发下载 - 访问
/folder/时:index index.html会自动加载该目录下的index.html文件,符合目录访问的常规逻辑 - 访问
/filename.html时:请求带后缀,跳过后缀判断逻辑,Nginx根据默认MIME配置正常识别并加载HTML文件 - 保留了原有的
@proxyfallback规则,不影响非文件/目录类请求的代理逻辑
确保你的Nginx主配置中已引入mime.types文件(默认配置通常已包含),保证.html文件的MIME类型映射正常。
内容的提问来源于stack exchange,提问作者Doraemon
相关产品推荐
相关产品推荐

