如何修改WordPress的.htaccess实现HTTP转HTTPS全站跳转?
解决WordPress全站HTTP转HTTPS重定向问题
你的问题出在当前.htaccess中的重定向规则仅覆盖网站根目录,无法实现全站跳转,且规则位置优先级不足。按以下步骤修改即可:
1. 先备份原.htaccess文件
修改前务必备份文件,避免操作失误导致网站故障。
2. 替换并调整重定向规则位置
将原文件中最后一段的重定向规则,替换后移动到WordPress核心规则块内最顶部。修改后的完整<IfModule mod_rewrite.c>块如下:
<IfModule mod_rewrite.c> RewriteEngine On # 全站HTTP转HTTPS,同时统一域名(示例为统一到非www域名) RewriteCond %{HTTPS} off [OR] RewriteCond %{HTTP:X-Forwarded-SSL} !on RewriteCond %{HTTP_HOST} ^www\.website\.com$ [OR] RewriteCond %{HTTP_HOST} ^website\.com$ RewriteRule ^(.*)$ https://website.com/$1 [R=301,L] RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule>
规则关键点说明:
^(.*)$匹配所有请求路径,确保网站所有页面都能被重定向https://website.com/$1中的$1会保留原请求的路径,避免跳转后丢失页面内容R=301是永久重定向,利于搜索引擎收录;测试阶段可先用R=302临时重定向,确认无误后再改回301- 若需统一到www域名,只需将目标地址改为
https://www.website.com/$1
3. 确认WordPress后台设置
检查WordPress后台「设置→常规」中,「WordPress地址(URL)」和「站点地址(URL)」是否已设置为HTTPS开头的地址(如https://website.com)。
4. 清除缓存
修改完成后,清除浏览器缓存、WordPress缓存插件(若有)及CDN缓存,确保新规则立即生效。
内容的提问来源于stack exchange,提问作者Florina Adriana
相关产品推荐
相关产品推荐

