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

Django部署至虚拟共享服务器后Admin登录POST请求出现404错误

解决Django Admin登录POST请求404问题的排查方案

我之前在虚拟共享服务器部署Django时也碰到过类似的坑,Admin页面能正常打开,但提交登录凭据就跳404,大概率和服务器的URL转发、配置规则有关,咱们一步步来排查:

1. 先确认项目URL配置是否规范

首先检查你项目根目录的urls.py,确保Admin的路由是带末尾斜杠的:

# 项目根urls.py
from django.contrib import admin
from django.urls import path

urlpatterns = [
    path('admin/', admin.site.urls),  # 重点:这里必须带末尾斜杠
    # 其他业务路由...
]

如果写成admin(不带斜杠),共享服务器的重写规则很可能会在POST请求时截断路径,导致找不到对应的处理路由。

2. 检查服务器的URL重写配置

Apache环境(多数虚拟共享服务器用这个)

查看项目根目录的.htaccess文件,确保它能把所有请求(包括POST)正确转发到WSGI入口:

RewriteEngine On
# 排除静态文件和目录的请求
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# 把所有请求转发到wsgi.py处理
RewriteRule ^(.*)$ wsgi.py/$1 [L]

另外要确认服务器已经开启mod_rewrite模块,很多共享主机默认开启,但如果没开得联系主机商帮忙启用。

Nginx环境

如果是Nginx配置,检查站点配置里的location规则,确保POST请求不会被拦截:

location / {
    try_files $uri $uri/ @django;
}

location @django {
    include uwsgi_params;
    uwsgi_pass unix:/path/to/your/project.sock;  # 或者http://127.0.0.1:8000
}

这里要注意try_files的规则,不能让POST请求被静态文件规则拦截。

3. 验证CSRF相关配置(虽然一般是403,但也可能间接导致404)

本地正常但服务器异常,可能是域名相关的CSRF配置问题:

  • 确认settings.py里的ALLOWED_HOSTS包含你的域名:
ALLOWED_HOSTS = ['lindcraft.williesworkshop.com', 'localhost', '127.0.0.1']
  • Django 3.2及以上版本,要把域名加入CSRF_TRUSTED_ORIGINS:
CSRF_TRUSTED_ORIGINS = ['https://lindcraft.williesworkshop.com']

如果CSRF验证失败,部分服务器会重定向到错误路径,间接触发404。

4. 检查WSGI入口文件的正确性

确认你的wsgi.py文件路径和内容都没问题,共享服务器经常会因为路径配置错误导致请求找不到处理入口:

# wsgi.py
import os
from django.core.wsgi import get_wsgi_application

os.environ.setdefault('DJANGO_SETTINGS_MODULE', '你的项目名.settings')

application = get_wsgi_application()

要确保服务器控制面板里指定的WSGI入口路径和这个文件的实际路径完全一致。

5. 查看服务器错误日志(最关键的一步)

直接看服务器的错误日志能快速定位问题:

  • Apache一般看error.log,Nginx看error.log,Django如果配置了日志也看django.log
  • 共享服务器通常在主机控制面板里有日志入口,或者可以通过FTP/SSH访问日志文件
    日志里会明确告诉你404的具体原因,比如哪个URL匹配失败、请求被哪个规则拦截了。

我当时碰到的问题就是.htaccess里的RewriteRule写错了,把POST请求的路径截断了,调整规则后就正常了。你可以先从URL配置和.htaccess开始排查,这两个是虚拟主机上最常见的触发点。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 03:29:06