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

部署在cPanel子域名的Django应用仅根URL可用,其他URL失效求助

cPanel部署Django子域名仅根URL可访问的解决办法

问题表现

Django应用部署在cPanel子域名后,仅根路径能正常访问,访问其他路径时:

  • 浏览器地址栏中斜杠后的内容呈灰色
  • 应用日志未接收到完整请求地址

解决方案

1. 修正.htaccess配置

确保子域名根目录下的.htaccess正确转发所有请求到WSGI脚本,内容如下:

PassengerAppRoot /home/你的用户名/子域名项目目录
PassengerBaseURI /
PassengerPython /home/你的用户名/虚拟环境路径/bin/python
WSGIScriptAlias / /home/你的用户名/子域名项目目录/wsgi.py

<Directory /home/你的用户名/子域名项目目录>
    AllowOverride All
    Require all granted
</Directory>

核心是WSGIScriptAlias /要映射到根,保证所有路径请求都能被Django处理。

2. 检查Django项目设置

  • settings.py中确保ALLOWED_HOSTS包含你的子域名:
    ALLOWED_HOSTS = ['sub.example.com']
    
  • 注释或删除FORCE_SCRIPT_NAME(独立子域名不需要该配置):
    # FORCE_SCRIPT_NAME = '/subdomain'
    

3. 核对cPanel Python应用配置

在cPanel的「Python Applications」管理页,确认应用的:

  • Application Root指向包含manage.py的项目根目录
  • Application URL设为/
  • Startup File指定为wsgi.py

4. 验证Django路由配置

确保urls.py中已正确定义非根路径的路由,例如:

from django.urls import path
from .views import home, dashboard

urlpatterns = [
    path('', home, name='home'),
    path('dashboard/', dashboard, name='dashboard'),
]

5. 重启应用

在cPanel的Python Applications界面点击「Restart」,使配置修改生效。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 07:53:27