.htaccess 301在WordPress中从非www https重定向到www https

ulmd4ohb  于 2022-11-16  发布在  WordPress
关注(0)|答案(2)|浏览(229)

在分析了woorank网站之后,我得到了这个结果

因此,我尝试将https://monsite.com的301重定向添加到https://www.monsite.com

301 https redirects to without WWW
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

但是它不起作用。

# BEGIN WordPress
# Les directives (lignes) entre « BEGIN WordPress » et « END WordPress » sont générées
# dynamiquement, et doivent être modifiées uniquement via les filtres WordPress.
# Toute modification des directives situées entre ces marqueurs sera surchargée.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

提前感谢

wkyowqbh

wkyowqbh1#

RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

此规则仅重定向到https站点,而不添加www。您可以使用此规则在单个规则中同时执行这两个重定向:

## add www and turn on https in same rule
RewriteCond %{HTTP_HOST} !^www\. [NC,OR]
RewriteCond %{HTTPS} !on
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://www.%1%{REQUEST_URI} [R=302,L,NE]

验证R=302工作正常后,将其替换为R=301。测试mod_rewrite规则时,请避免使用R=301(永久重定向)。
您的完整.htaccess

RewriteEngine On

RewriteCond %{HTTP_HOST} !^www\. [NC,OR]
RewriteCond %{HTTPS} !on
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://www.%1%{REQUEST_URI} [R=301,L,NE]

RewriteRule ^index\.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]
pn9klfpd

pn9klfpd2#

我经常发现插件处理这个问题比用.htaccess文件手动处理要好,所以你可以尝试作为一种替代方案。
以下是本文中的一些选项:https://cheapsslsecurity.com/p/best-http-to-https-wordpress-plugins/

相关问题