由于Google缓存/保存了旧链接,因此我一直在进行301次重定向。因此,我设置了301重定向:
Redirect 301 /old/url/ /index.php/old/url
但是我发现网址不是https://
,而是www.example.com/index.php/old/url
我通过https
在线搜索了强制.htaccess
,但我尝试执行的所有操作都会导致整个网站出错
页面无法正确重定向
这是我的.htaccess(减去301重定向):
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
# force https
# RewriteCond %{HTTPS} !=on
# RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# RewriteCond %{HTTPS} !=on
# RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
# ensure https
# RewriteCond %{HTTP:X-Forwarded-Proto} !https
# RewriteCond %{HTTPS} off
# RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# RewriteCond %{HTTPS} off
# RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
如您所见,我尝试了几种不同的方法来实现这一目标,但是其中的所有 都会产生上述错误(并非同时取消所有注释)。
我的网站全是https,但当您搜索旧链接时Google会保留此旧链接,但是重定向不包含https部分,并且如果我尝试输入完整的网址(例如Redirect 301 /old/url/ https://www.example.com/old/url
)那么它仍然不起作用。
如何在不破坏网站的情况下对www.example网址强制执行https?
谢谢
答案 0 :(得分:1)
首先,您需要访问设置»常规页面。从此处,您需要通过将HTTP替换为https来更新WordPress和站点URL地址字段。
您需要通过将以下代码添加到.htaccess文件中来设置从HTTP到HTTPS的WordPress重定向。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
如果要在WordPress管理区域或登录页面上强制使用SSL和HTTPS,则需要在wp-config.php文件中配置SSL。将以下代码添加到wp-config.php文件中“就这样,停止编辑!”行上方:
define('FORCE_SSL_ADMIN', true);