强制" https"和" www"重定向 - Wordpress

时间:2016-09-01 14:39:51

标签: .htaccess redirect ssl web https

强制" https"和" www"重定向

我正在尝试查看是否有办法将网址重定向到https://www.example.com 例如,如果有人输入了网址http://example.com/subfolder,那么它应该重定向到https://www.example.com/subfolder

这是一个Wordpress网站。如果我去设置=>一般=>我看到WordPress地址(URL)和站点地址(URL)显示为灰色,因此我无法输入任何URL。两者都显示为http://example.com

我去了phpMyAdmin =>选项表将WordPress地址(URL)和站点地址(URL)更改为https://www.example.com但我仍然在wordpress常规设置面板上看到http://example.com

我查看了wp-config文件,发现以下代码似乎阻止我输入自定义网址。

define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST']);

define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST']);

define('WP_CONTENT_URL', '/wp-content');

define('DOMAIN_CURRENT_SITE', $_SERVER['HTTP_HOST']);

这里的代码似乎强制执行WordPress地址(URL)和站点地址(URL)。

我的托管服务提供商建议使用htaccess通过下面的代码强制执行ssl:

#Force SSL on entire site
RewriteEngine On
RewriteBase /
RewriteCond %{ENV:HTTPS} !on [NC]
RewriteRule ^(.*)$ https://(YOURDOMAIN)/$1 [R,L]

但是本指南并没有真正告诉我们如何强制执行www。

我在此处找到了另一个指南.htaccess - how to force "www." in a generic way?,其中解释了如何将domain.com强制执行到www.domain.com。据说这个也检查https并实现重写规则。

RewriteEngine On
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

现在,其他人正在推荐以下代码,声称上述第一个代码只有在您希望所有子域转发到www.yourdomain.com时才有效。我很困惑我需要选择哪一个?

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

我试图看看哪个选项是实施强制重定向的最佳解决方案?或者我应该从wp-config文件中删除这四个define()代码,以便我可以使用wordpress常规设置重定向?

0 个答案:

没有答案