在Django主站子域名部署PrestaShop的冲突问题求助
解决子域名被Django覆盖的问题
检查子域名的文档根目录
登录Cpanel找到「子域名」管理,确认www.tienda.cannareis.com.ar的文档根目录是单独的文件夹(比如public_html/tienda),不能和主域名共用public_html。如果指向同一目录,Django会接管所有请求,自然会覆盖PrestaShop。配置独立的Web服务器虚拟主机
- 若用Apache:在Cpanel的「虚拟主机」或「Apache配置」里给子域名单独设置
DocumentRoot,指向PrestaShop的安装目录,同时确保开启PHP支持(PrestaShop依赖PHP),让子域名的请求直接走PrestaShop的环境。 - 若用Nginx:添加独立的server块,专门处理子域名的请求,示例配置如下:
server { server_name www.tienda.cannareis.com.ar; root /path/to/your/prestashop/folder; index index.php index.html; location ~ \.php$ { fastcgi_pass unix:/run/php/php7.4-fpm.sock; # 对应你的PHP版本路径 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
保存配置后重启Web服务器生效。
- 若用Apache:在Cpanel的「虚拟主机」或「Apache配置」里给子域名单独设置
从Django的ALLOWED_HOSTS中移除子域名
打开settings.py,把www.tienda.cannareis.com.ar从ALLOWED_HOSTS列表里删掉,彻底切断Django对子域名请求的处理。刷新缓存
浏览器缓存或本地DNS缓存可能导致旧配置残留,用无痕模式访问子域名,或者执行:- Windows:
ipconfig /flushdns - Mac:
sudo dscacheutil -flushcache
刷新后再测试访问。
- Windows:
验证PrestaShop安装
确认PrestaShop已正确安装在子域名的目录下,检查目录权限(确保PHP有读写权限),直接访问www.tienda.cannareis.com.ar/index.php,如果能正常进入,再把默认首页设置为index.php。
内容的提问来源于stack exchange,提问作者Fausto Fernandez
相关产品推荐
相关产品推荐

