返回
WordPress HTTPS 迁移解决重定向过多:Nginx 和常量指南
php
2024-05-28 00:07:13
使用 Nginx 和 WordPress 常量解决重定向过多问题
简介
在将 WordPress 网站从 HTTP 迁移到 HTTPS 时,你可能会遇到“重定向过多”错误。这是因为 Nginx 的重定向设置与 WordPress 配置冲突。本文将指导你如何使用 Nginx 和 WordPress 常量解决此问题。
问题陈述
当访问 wp-admin 页面时,使用 Nginx 设置的重定向与 WordPress 配置冲突,导致无限循环重定向。
解决方案
要解决此问题,需要在 Nginx 和 WordPress 配置中进行以下更改:
Nginx 配置:
- 在 Nginx 配置文件中添加
proxy_redirect off;
,以禁用对proxy_pass
指令的自动重定向。
WordPress 配置:
- 在
wp-config.php
文件中添加常量define('FORCE_SSL_ADMIN', true);
,以强制 wp-admin 页面使用 HTTPS。 - 更新 WordPress 的“站点地址(URL)”和“WordPress 地址(URL)”设置,将其更改为新的 HTTPS URL。
配置示例
Nginx 配置:
server {
listen 443 ssl;
server_name example.com;
location / {
proxy_redirect off;
proxy_pass http://localhost:8080/;
}
}
WordPress 配置:
define('FORCE_SSL_ADMIN', true);
define('WP_HOME', 'https://example.com');
define('WP_SITEURL', 'https://example.com');
结论
通过进行这些更改,你可以禁用 Nginx 的自动重定向,并强制 wp-admin 页面使用 HTTPS,从而解决“重定向过多”问题。
常见问题解答
1. 更改 Nginx 配置后,我仍然收到“重定向过多”错误。
- 检查是否已清除浏览器缓存。
- 检查 WordPress 日志文件是否有任何错误消息。
- 确保 Nginx 配置文件语法正确。
2. 什么是 FORCE_SSL_ADMIN
常量?
- 此常量强制 wp-admin 页面使用 HTTPS,即使 WordPress 设置没有指定。
3. 如何检查 WordPress 配置是否正确?
- 可以在
wp-config.php
文件中查找常量WP_HOME
和WP_SITEURL
的值。
4. 我可以更改 HTTPS URL 的端口吗?
- 是的,但需要在 Nginx 和 WordPress 配置中更新端口号。
5. 这些更改是否会影响网站的其他部分?
- 否,这些更改仅会影响 wp-admin 页面和网站内容的 HTTPS 访问。