WordPress 强制重定向到 HTTPS 在某些页面上不起作用

问题描述 投票:0回答:2

我希望我的网站始终显示“https://www.example.com”。如果用户点击不同格式的 URL,则必须重定向到包含“www”和“https”的完整 URL。

我尝试通过更新 .htaccess 文件强制我的 WordPress 网站始终使用“https”。我发现重定向适用于大多数情况,但某些 URL(例如“http://example.com/category”)无法正确重定向。

但是,如果我在 URL 中添加尾部斜杠,例如“http://example.com/category/”,则重定向规则将按预期工作。

下面是我的 .htaccess 代码。我的网站托管在 Cloudways 上。

# BEGIN WordPress
   <IfModule mod_rewrite.c>
   RewriteEngine On

   RewriteCond %{HTTP_HOST} ^example.com [NC]
   RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301,NC]
   RewriteCond %{HTTP:X-Forwarded-Proto} !https
   RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
   
   RewriteBase /
   RewriteRule ^index\.php$ - [L]
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule . /index.php [L]
   </IfModule>

   # END WordPress
wordpress .htaccess https
2个回答
0
投票

将以下内容添加到 .htaccess 文件的顶部。

RewriteEngine on
RewriteCond %{HTTPS} !on [OR]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule (.*) https://www.example.com%{REQUEST_URI} [L,R=301]

https://wordpress.org/support/topic/forcing-http-to-https-and-non-www-to-www/


0
投票

在这种情况下,我强烈建议不要在 .htaccess 文件中使用重定向,而是简单地定义 WordPress 的 URL 地址,您可以从设置 URL 地址的后端设置中进行设置,并将其包含在“wp-config.php”:

将这两行添加到您的 wp-config.php,其中“example.com”是您网站的正确位置。

define('WP_HOME','https://www.example.com');

define( 'WP_SITEURL', 'https://www.example.com' );

正如下面文章中提到的: https://wordpress.org/support/article/change-the-site-url/

通过这样执行,您将摆脱重定向过程并协助网站的“优化”。此外,谷歌和其他搜索引擎将使用“HTTPS”缓存默认地址,从而减少甚至没有重定向,从而减少网站上的加载时间。

© www.soinside.com 2019 - 2024. All rights reserved.