nginx 访问资源后自动加上了/index.html/ 怎么取消自动
时间: 2024-09-23 13:08:58 浏览: 34
Nginx通过/etc/init.d/nginx方式启停【nginx配置文件】
5星 · 资源好评率100%
当Nginx在访问资源时自动添加"/index.html/",这通常是因为配置文件中设置了默认索引页或者尝试提供目录浏览功能。要取消这个自动附加,你可以按照以下步骤操作:
1. **检查Nginx配置**:打开`nginx.conf` 或者你网站相关的`server block` 配置文件。
2. 检查 `try_files` 或 `auto_index` 部分:默认情况下,Nginx可能会有一个类似下面这样的配置:
```
try_files $uri $uri/ /index.html;
auto_index off;
```
3. **修改`try_files`**:将上面的`/index.html` 修改为仅访问单个文件,例如去掉斜杠:
```
try_files $uri $uri/ =404; # 如果未找到对应文件,则返回404错误,不自动加/index.html
```
4. **关闭目录浏览**:如果不想让用户看到目录结构,可以完全禁用 `auto_index`:
```
auto_index off;
```
5. **保存并重启Nginx**:对配置文件做出更改后,记得重启Nginx服务让新设置生效:
```
sudo service nginx restart
```
6. **测试更改**:确认是否已成功取消自动加上"/index.html/",通过浏览器访问一个不存在的文件名看看结果。
如果你还是遇到问题,确保其他模块如rewrite规则没有无意中导致此行为,并查看服务器日志获取更多详细信息。
阅读全文