Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将WordPress页面重定向到HTTPS-不重定向_Wordpress_.htaccess_Url_Redirect_Https - Fatal编程技术网

将WordPress页面重定向到HTTPS-不重定向

将WordPress页面重定向到HTTPS-不重定向,wordpress,.htaccess,url,redirect,https,Wordpress,.htaccess,Url,Redirect,Https,WordPress站点上的页面不会自动重定向到HTTPS版本,即使我们已将站点url和主页url设置为使用HTTPS 这是我们在wp-config.php文件顶部的代码: define('WP_HOME','https://webwisemedia.co.uk'); define('WP_SITEURL','https://webwisemedia.co.uk'); define('FORCE_SSL_ADMIN', true); 我们的.htaccess文件如下所示: # BEGIN Wo

WordPress站点上的页面不会自动重定向到HTTPS版本,即使我们已将站点url和主页url设置为使用HTTPS

这是我们在wp-config.php文件顶部的代码:

define('WP_HOME','https://webwisemedia.co.uk');
define('WP_SITEURL','https://webwisemedia.co.uk'); 
define('FORCE_SSL_ADMIN', true);
我们的.htaccess文件如下所示:

# BEGIN WordPress
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{SERVER_PORT} !^443$
    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
重新启动发动机
重写cond%{SERVER\u PORT}^443$
重写规则(.*)https://%{HTTP_HOST}%{REQUEST_URI}[R=301,L]
重写基/
重写规则^index\.php$-[L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/index.php[L]
#结束WordPress
如果你访问我们网站上的某个页面,比如,它不会重定向到HTTPS版本


你知道为什么吗?

你把.htaccess的Wordpress部分弄混了,这就是它不工作的原因。该部分在每次更新时都会更改,例如,永久链接。您的.htaccess应该如下所示:

# Rewrite HTTP to HTTPS
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*) https://%{SERVER_NAME}/$1 [R,L]

# 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
#将HTTP重写为HTTPS
重新启动发动机
重写cond%{HTTPS}=在…上
重写规则^(.*)https://%{SERVER_NAME}/$1[R,L]
#开始WordPress
重新启动发动机
重写基/
重写规则^index\.php$-[L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/index.php[L]
#结束WordPress

这使得Wordpress部分保持不变,并强制使用https。从现在起,如果您在.htaccess中更改了任何内容,请在Wordpress部分下方执行该操作。

您不应在
#BEGIN Wordpress
/
#END Wordpress
注释之间添加任何内容-这是当您更改任何影响重写或URL结构的设置时,WP将覆盖的.htaccess部分。你需要把你自己的东西放在外面。谢谢你。我已将.htaccess文件更新为上述内容,但当我转到它时,仍然没有重定向到https?@NicholasLeonida,我已更新了代码。我犯了一个小错误,无法强制您的页面转到https:)请尝试将整个代码输入到您的htaccess文件中