You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apache+mod_wsgi部署Django网站仅首页可访问,其他页面404求助

解决Django+Apache+mod_wsgi部署后非首页404问题

以下是针对Windows VPS上该问题的排查和解决步骤:

  • 检查Apache配置文件的请求转发规则
    打开Apache的httpd.conf或你的虚拟主机配置文件,确保所有非静态文件的请求都正确转发到Django的WSGI入口:

    # 核心WSGI映射,将根路径请求指向项目的wsgi.py
    WSGIScriptAlias / "C:/path/to/your/django-project/wsgi.py"
    
    # 授权访问wsgi.py所在目录
    <Directory "C:/path/to/your/django-project">
        <Files wsgi.py>
            Require all granted
        </Files>
    </Directory>
    
    # 静态文件映射,确保静态资源能被正确访问
    Alias /static/ "C:/path/to/your/django-project/static/"
    <Directory "C:/path/to/your/django-project/static/">
        Require all granted
    </Directory>
    

    注意路径要使用Windows格式的斜杠(/),不要用反斜杠避免转义问题。保存配置后重启Apache服务。

  • 验证Django的URL配置
    打开项目根目录下的urls.py,确认非首页路径(比如about)已正确配置:

    • 如果是直接在根urls里定义:
      from django.urls import path
      from . import views
      
      urlpatterns = [
          path('', views.home, name='home'),
          path('about/', views.about, name='about'),  # 确保这条规则存在且路径拼写正确
      ]
      
    • 如果是引用app的urls,要确保已正确使用include:
      from django.urls import path, include
      
      urlpatterns = [
          path('', views.home, name='home'),
          path('about/', include('yourapp.urls')),  # 替换成你的app名称
      ]
      

    同时检查对应app的urls.py里是否有匹配about的规则,以及视图函数是否存在且无语法错误。

  • 检查Apache的mod_rewrite模块是否启用
    打开httpd.conf,找到以下行,去掉开头的注释符号(#):

    LoadModule rewrite_module modules/mod_rewrite.so
    

    启用该模块后重启Apache,确保URL重写功能正常,避免Apache拦截动态请求。

  • 查看Apache错误日志定位具体问题
    打开Apache的错误日志文件(默认路径为C:\Apache24\logs\error.log),查找关于/about路径的错误记录。日志会明确提示是路径映射问题、权限问题还是Django内部错误,根据日志信息针对性修复。

  • 确认Django生产环境配置正确

    • 确保settings.py中DEBUG = False(生产环境必须关闭),同时ALLOWED_HOSTS包含localhost或你的服务器IP(比如ALLOWED_HOSTS = ['localhost', 'xxx.xxx.xxx.xxx'])。
    • 已经执行过python manage.py collectstatic命令,将所有静态文件收集到STATIC_ROOT指定的目录,并且Apache的静态文件映射路径与STATIC_ROOT一致。

内容的提问来源于stack exchange,提问作者bahar bendokht

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 02:56:22