在cPanel上解决Django站点子目录中WordPress运行异常问题
解决方案
1. 修正根目录(public_html)的.htaccess规则
确保/blog/路径的请求被优先处理,避免静态资源被错误重写。替换根目录的.htaccess内容为:
RewriteEngine On RewriteBase / # 优先转发/blog/开头的请求到对应目录,排除已存在的文件/目录 RewriteRule ^blog/(.*)$ /blog/$1 [L] # 保留原有Django的重写规则(如果存在),比如: # RewriteCond %{REQUEST_FILENAME} !-f # RewriteCond %{REQUEST_FILENAME} !-d # RewriteRule ^(.*)$ django_entry_file.php [L]
注意:必须把/blog/的转发规则放在Django规则之前,确保WordPress请求被优先处理
2. 配置blog目录的标准WordPress .htaccess
在public_html/blog/目录创建或替换.htaccess文件,使用WordPress默认重写规则:
RewriteEngine On RewriteBase /blog/ RewriteRule ^index\.php$ - [L] # 将不存在的文件/目录请求转发到index.php RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /blog/index.php [L]
3. 验证WordPress地址配置
再次确认数据库wp_options表的两个核心字段:
siteurl:必须为https://mysite.com/blog/home:必须为https://mysite.com/blog/
可通过WordPress后台「设置-常规」查看,或直接用phpMyAdmin等工具修改
4. 清除缓存
- 强制刷新浏览器缓存(Ctrl+Shift+R)
- 若使用CDN或WordPress缓存插件,清空对应缓存
5. 修复wp-admin重定向循环
若仍存在重定向过多问题,检查:
wp-config.php中是否手动设置了WP_HOME或WP_SITEURL,如有需确保和数据库地址一致- 服务器SSL配置是否对
/blog/路径重复做HTTPS重定向,避免和WordPress规则冲突
内容的提问来源于stack exchange,提问作者squidg
相关产品推荐
相关产品推荐

