首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Nginx返回404,子文件夹中有静态文件

Nginx是一种高性能的开源Web服务器软件,也是一个反向代理服务器。当用户请求一个URL时,Nginx会根据配置文件中的规则进行匹配,然后返回相应的内容给用户。

当Nginx返回404错误时,意味着服务器无法找到请求的资源。这通常是因为请求的URL路径或文件不存在或配置有误导致的。对于子文件夹中有静态文件的情况,可能是以下几个原因导致了404错误:

  1. 路径配置错误:请确保在Nginx的配置文件中正确设置了子文件夹的路径,并且文件确实存在于指定的位置。
  2. 权限问题:请确保Nginx对子文件夹和其中的静态文件具有足够的读取权限。可以使用命令chmod来更改文件或文件夹的权限。
  3. 文件名大小写问题:Nginx在Linux系统上对文件名是区分大小写的,因此请检查文件名的大小写是否正确。
  4. 缓存问题:如果之前曾经请求过该静态文件,并且Nginx缓存了404错误的响应,那么在文件存在的情况下仍会返回404错误。可以尝试清除Nginx缓存并重新访问。

针对上述问题,以下是一些可能的解决方案:

  1. 检查Nginx配置文件:确保子文件夹路径正确配置,并且指定了正确的根目录。
  2. 检查文件权限:确保Nginx对子文件夹和其中的静态文件具有读取权限,可以使用chmod命令来更改权限。
  3. 检查文件名大小写:确认文件名的大小写是否正确,尤其是在Linux系统上。
  4. 清除Nginx缓存:可以使用以下命令清除Nginx缓存:
  5. 清除Nginx缓存:可以使用以下命令清除Nginx缓存:

对于Nginx的使用,腾讯云提供了云服务器(CVM)产品,可以通过以下链接了解更多信息:腾讯云云服务器

此外,为了更好地排查和解决Nginx相关问题,还可以查看Nginx的错误日志文件,通常位于/var/log/nginx/error.log,以获取更多详细的错误信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【Django】 开发:补充知识

配置 nginx 反向代理服务器 5.用 nginx 配置静态文件路径,解决静态路径问题 uWSGI 网关接口配置 (ubuntu 18.04 配置) WSGI (Web Server Gateway..., 否则修改不生效 nginx 配置静态文件路径 创建新路径 - 主要存放 Django 所有静态文件 如: /home/tarena/ 项目名_static/ 在 Django settings.py...执行该命令后,Django 将项目重所有静态文件 复制到 中 ,包括 Django 内建的静态文件【如 admin 后台的样式】 Nginx 配置中添加新配置 # file : /etc/nginx...} ... } 404/500 界面 在模板文件夹内添加 404.html 模版,当视图触发 Http404 异常时将会被显示 404.html 仅在发布版中 (即 setting.py...( ): raise Http404 # 直接返回404 邮件告警 报错邮件中会显示一些错误的追踪,这些错误追踪中会出现如 password等敏感信息,Django已经将配置文件中的敏感信息

6.4K30

Nginx 基本原理与最小配置

目录结构 进入Nginx的主目录有如下文件夹 client_body_temp conf fastcgi_temp html logs proxy_temp sbin scgi_temp uwsgi_temp...其中以_temp结尾的文件夹是用来存放运行过程中的临时文件了。...其他主要的文件夹是: conf:用来存放配置文件相关 html:用来存放静态文件的默认目录 html、css等 sbin:nginx的主程序 logs:存储各种日志,例如access记录访问的相关记录,...基本运行原理 一共有多个进程,其中有一个主进程Master负责读取,校验配置文件。 而进程Worker则是相应对应的访问等请求。...Nginx配置与应用场景 首先重点是Nginx的配置文件 nginx.conf ,其中有很大一部分的注释配置,这里先关注nginx所需的最小配置。

30520
  • 前端 Web 开发常见问题概述

    对于容器,浮动让元素按一个方向排行,例如“float:left”,让元素按从左到右的顺序排列;对于元素,浮动让元素定位于父容器中的某一边或紧挨在某一个兄弟元素之后。...这样做方便在静态站点上开启 CDN 加速,另外还可以避免在静态站点上使用 cookie。 避免无效的 404 页面 时间长了,网站越做越大,有些页面原来能访问,后来可能就无法访问的 404 页面了。...解决的方法是,可以用 Go 语言写一个简单的爬虫工具,定时爬自己的网站,只要 Http 状态码返回 404 就记录下来。然后将 404 列表统一发给后端程序员处理。...对于 cache-control 的值,no-cache 表示从来缓存,no-store 表示从不保存缓存或保存于浏览器临时文件夹中,public 表示任何情况下都可以缓存该资源,private 表示当前内容有用户权限缓存分别...在 nginx 中,可以使用 expires 统一设置站点静态资源的缓存时间: location ~ .*\.

    1.4K21

    Nginx

    404 /404.html; #配置404页面 # redirect server error pages to the static page /50x.html...端口中 准备工作 准备两台 tomcat 服务器,一台 8080,一台 8081 在两台 tomcat 里面 webapps 目录中,创建名称是 edu 文件夹,在 edu 文件夹中创建 页面...另外一种方法就是动态跟静态文件混合在一起发布,通过 nginx 来分开。 通过 location 指定不同的后缀名实现不同的请求转发。...(如果经常更新的文件, 不建议使用 Expires 来缓存),我这里设置 3d,表示在这 3 天之内访问这个 URL,发送 一个请求,比对服务器该文件最后更新时间没有变化,则不会从服务器抓取,返回状态码...静态资源准备 在/根目录下创建data文件夹,data文件夹下创建immg和www文件夹,分别放置图片和静态html文件 这里不能创建文件夹名为img、image等等可能原因是nginx.conf文件配置了下面这个才导致这些我文件夹下的访问不到

    41020

    万字总结,体系化带你全面认识 Nginx

    静态资源目录 /usr/share/nginx/html/404.html /usr/share/nginx/html/50x.html /usr/share/nginx/html/index.html...# 存放Nginx日志文件 /var/log/nginx 主要关注的文件夹有两个: /etc/nginx/conf.d/ 是配置项存放处, /etc/nginx/nginx.conf 主配置文件会默认把这个文件夹中所有配置项都引入...; /usr/share/nginx/html/ 静态文件都放在这个文件夹,也可以根据你自己的习惯放在其他地方; Nginx 常用命令 systemctl 系统命令: # 开机配置 systemctl...on ,否则返回空 request_filename 磁盘文件系统待访问文件的完整路径 document_root 由 URI 和 root/alias 规则生成的文件夹路径 limit_rate 返回响应时的速度上限值...首先检查是否存在请求静态文件的 gz 结尾的文件,如果有则直接返回该 .gz 文件内容; gzip_static on; # 默认 off,nginx做为反向代理时启用,用于设置启用或禁用从代理服务器上收到相应内容

    1.1K40

    神器 Nginx 的学习手册 ( 建议收藏 )

    /index.html # 存放Nginx日志文件 /var/log/nginx 主要关注的文件夹有两个: /etc/nginx/conf.d/是配置项存放处,/etc/nginx/nginx.conf...主配置文件会默认把这个文件夹中所有配置项都引入; /usr/share/nginx/html/静态文件都放在这个文件夹,也可以根据你自己的习惯放在其他地方; Nginx 常用命令 systemctl...如何自定义返回给客户端的404错误页面 如何查看服务器状态信息 如何优化Nginx并发量 ..........Nginx 高级功能 除了负载均衡,Nginx还可以做很多,限流、缓存、黑白名单等 重定向配置 location / { return 404; #直接返回状态码 } location / { return...404 "pages not found"; #返回状态码 + 一段文本 } location / { return 302 /blog ; #返回状态码 + 重定向地址 } location /

    1.1K42

    【Linux系列】Docker启动Nginx配置动静分离

    严格意义上说应该是动态请求跟静态请求分开,可以理解成使用 Nginx 处理静态页面,Tomcat 处理动态页面。...动静分离从目前实现角度来讲大致分为两种: 第一种:是纯粹把静态文件独立成单独的域名,放在独立的服务器上,也是目前主流推崇的方案; 第二种:方法就是动态跟静态文件混合在一起发布,通过nginx来分开。...(如果经常更新的文件, 不建议使用 Expires 来缓存),我这里设置3d,表示在这 3 天之内访问这个URL,发送一 个请求,比对服务器该文件最后更新时间没有变化,则不会从服务器抓取,返回状态码304...$ docker pull nginx|latest # 创建工作目录 $ mkdir -p /nginx/{conf,conf.d,logs,data} # 在data目录下添加html文件夹和image...文件夹 $ docker run -dit nginx # conf 里放 nginx.conf 配置文件, 这个文件的内容要从镜像里的复制出来,前面是容器的路径 后面是宿主机的路径 $ docker

    2K20

    万字总结,体系化带你全面认识 Nginx !

    静态资源目录 /usr/share/nginx/html/404.html /usr/share/nginx/html/50x.html /usr/share/nginx/html/index.html...# 存放Nginx日志文件 /var/log/nginx 主要关注的文件夹有两个: /etc/nginx/conf.d/ 是配置项存放处, /etc/nginx/nginx.conf 主配置文件会默认把这个文件夹中所有配置项都引入...; /usr/share/nginx/html/ 静态文件都放在这个文件夹,也可以根据你自己的习惯放在其他地方; Nginx 常用命令 systemctl 系统命令: # 开机配置 systemctl.../ { return 404 "pages not found"; # 返回状态码 + 一段文本 } location / { return 302 /bbs ; # 返回状态码 + 重定向地址...首先检查是否存在请求静态文件的 gz 结尾的文件,如果有则直接返回该 .gz 文件内容; gzip_static on; # 默认 off,nginx做为反向代理时启用,用于设置启用或禁用从代理服务器上收到相应内容

    68520

    万字总结,体系化带你全面认识 Nginx

    -to-1.10 # 静态资源目录 /usr/share/nginx/html/404.html /usr/share/nginx/html/50x.html /usr/share/nginx/html.../index.html # 存放Nginx日志文件 /var/log/nginx 主要关注的文件夹有两个: 1、/etc/nginx/conf.d/ 是配置项存放处, /etc/nginx/nginx.conf...主配置文件会默认把这个文件夹中所有配置项都引入; 2、/usr/share/nginx/html/ 静态文件都放在这个文件夹,也可以根据你自己的习惯放在其他地方; Nginx 常用命令 1、systemctl.../ { return 404 "pages not found"; # 返回状态码 + 一段文本 } location / { return 302 /bbs ; # 返回状态码 + 重定向地址...首先检查是否存在请求静态文件的 gz 结尾的文件,如果有则直接返回该 .gz 文件内容; gzip_static on; # 默认 off,nginx做为反向代理时启用,用于设置启用或禁用从代理服务器上收到相应内容

    1.3K20

    Linux 下 Nginx + PHP 环境的配置

    相比通过文件存储的静态网页,类似PHP每次接到请求后通过解释器执行,执行的结果来返回数据的页面,因为数据会根据实际情况而变化,我们通常也被称之为“动态网页”。...Web 守护进程 fork 一个进程,然后在进程中执行 user 程序,通过环境变量获取到id。 执行完毕之后,将结果通过标准输出返回进程。 进程将结果返回给客户端。...在这里我的预期是,当 Nginx 收到请求以后,如果请求的是静态文件,那么将这个静态文件返回;如果它是一个要执行 PHP 程序的请求,Nginx 需要将其转发到 PHP-FPM 处理,PHP-FPM 收到请求以后...这样的URL看起来比较神奇,仿佛 php 文件就是一个文件夹一样,看起来也更加友好一些。...之前的配置我们用了 try_files $uri =404; 由于这时候的 request-URI 并没有一个文件与之对应,所以使用 try_files $uri =404; 的话,肯定是直接返回 404

    3.6K40

    nginx服务器及部署vue的常见问题

    新浪、网易、腾讯、淘宝等 二、Nginx的作用 ---- 负载均衡、静态服务器、正反向的代理 三、下载 ---- 网址:http://nginx.org/en/download.html Mainline...使用history模式,页面显示空白 解决方法:将dist文件夹的内容,放到nginx服务器运行即可 2. vue 打包成dist后,代理跨域设置失效 解决方法:使用nginx服务器运行,并在...nginx服务器的配置文件中,进行代码配置 配置代码如下: location /api/ { proxy_pass http://172.16.8.9:8888/; } 注:1....解决组件页新刷新显示404的问题, 配置代码如下: location / { root html; index index.html index.htm...nginx -s quit 停止 保存信息 nginx -s reload 重启 nginx -V 查看版本 注:修改了配置文件一定要执行nginx -s reload 重启.

    91920

    nginx配置详解史上最全

    网站根目录 网站根目录(也称为网站根文件夹、网站根文件目录或网站根目录结构)是一个Web服务器上的主要文件夹,它包含了构成整个网站的文件和资源。...静态文件目录 静态文件目录是一个包含网站的静态文件(不需要服务器端处理的文件)的文件夹或目录。...这些静态文件可以包括HTML、CSS、JavaScript、图像、字体文件等,它们不需要在服务器端动态生成或处理,而是直接提供给客户端浏览器。...图像文件目录 图像文件目录是一个用于存储网站或应用程序中的图像文件文件夹或目录。这些图像文件可以包括各种图像类型,例如JPEG、PNG、GIF、SVG等。...图像文件目录通常用于组织和管理网站中的图像资源,使其能够在网页上展示或通过链接提供给用户。 自定义错误页面 这个配置告诉Nginx当发生404错误时,将用户重定向到/404.html页面。

    11.7K10

    使用acme.sh设置nginx多个https证书自动更新,无限续期https证书

    在谷歌的推动下, 网站支持https几乎成了刚需,而免费的https证书大多只有一年的使用时间,且二级域名需要单个申请,而遇到https证书失效的情况, 基本就是一次生产事故,为了彻底解决以上问题,...systemctl start nginx # 重启nginx sudo systemctl restart nginx # nginx重新加载配置文件 sudo systemctl reload nginx...= /50x.html { } } 新建hk.v2fy.com对应的网站文件夹 mkdir -p /usr/share/nginx/html/hk.v2fy.com 新建文件 touch /usr...https证书生成的位置 在这一步acme.sh读取了nginx配置,并自动生成了证书 将证书拷贝到/etc/nginx/ssl文件夹 创建文件夹 mkdir -p /etc/nginx/ssl/hk.v2fy.com...新证书 创建文件夹 mkdir -p /etc/nginx/ssl/api.v2fy.com 拷贝证书 acme.sh --install-cert -d api.v2fy.com \ --key-file

    11.3K21

    Typecho防黑安全加固

    删除安装文件 成功安装后删除install.php文件、install/文件夹。 修改后台地址 把admin修改为黑客猜不到的名字,例如pipixia,防止黑客穷举密码。...修改`admin`文件夹名称 修改admin文件夹名称为你喜欢的名称,例如pipixia 修改配置文件以适配修改后的`admin`路径 修改config.inc.php 修改为以下代码,我就当修改为pipixia...屏蔽usr、var目录下php文件的访问 屏蔽usr、var目录下php文件的访问可以阻止黑客访问到他上传的php木马。 我们利用Rewrite伪静态机制来做。...屏蔽原理就是把要屏蔽的请求重定向到首页文件,首页文件会当成文章名来解析,没有同名文章就会返回404未找到。所以就算黑客上传了木马也只会得到404未找到的响应。...[tip type="danger"] 2019.07.14更新:新增Nginx规则 [/tip] 此规则原理同上,经测试Nginx和OpenResty下可用。 if (!

    97840

    tomcat结合nginx使用小结

    对,很多用到nginx的地方都是作为静态伺服器,这样可以方便缓存那些静态文件,比如CSS,JS,html,htm等文件。 闲话就不多说了,我们直接来看看nginx怎么使用。...进入到nginx文件夹,直接start nginx就OK了。...2)我们可以看到nginx文件夹内有一个conf文件夹,其中有好几个文件,其他先不管,我们打开nginx.conf,可以看到一段: 这段代码在server里面,相当于一个代理服务器,当然可以配置多个...location:表示匹配的路径,这时配置了/表示所有请求都被匹配到这里 root:里面配置了root这时表示当匹配这个请求的路径时,将会在这个文件夹内寻找相应的文件,这里对我们之后的静态文件伺服很有用...一般情况下,如果我们需要用nginx来进行静态文件伺服,一般都会把所有静态文件,html,htm,js,css等都放在同一个文件夹下,这样就不会有tomcat这样的情况了,因为tomcat下的是属于不同的项目

    1.1K70

    Nginx实现动静分离「建议收藏」

    这些图片请求相对于jsp,servlet来说就是所谓的静态资源,当然服务中的静态资源不仅仅只是图片,像页面样式css文件,js脚本文件这些都可以看着是静态资源。...显然是不合理的,也就是会遇到tomcat的性能瓶颈问题,对于静态资源的处理我们有更好的服务器像Nginx,Apache.他们处理静态资源的能力比Tomcat强很多,那么我们能不能对请求进行分工呢?...我们再启动Nginx作为反向代理,在nginx的配置文件中,配置代理的tomcat服务ip以及端口,还是静态资源的root路径,具体Nginx配置文件关键配置如下 server { listen...$ { root /static; expires 1h; } #error_page 404 /404.html; # redirect...同级目录的static文件夹下面,static文件夹Nginx目录下没有,需创建,和conf文件夹同级,也可以自定义。

    38510
    领券