【问题标题】:How to move WordPress form HTTP to HTTPS如何将 WordPress 从 HTTP 移动到 HTTPS
【发布时间】:2015-09-02 18:51:00
【问题描述】:

我在 wp 网站的 .htaccess 文件中有以下代码

# 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

我已经完成了 WordPress 网站在 HTTPS 中运行所需的所有工作,现在我的网站以 HTTP 和 HTTPS 两种格式打开,但如果用户键入 example.com,它会转到 http 而不是 https 所以解决这个问题我添加了更多代码来解决这个问题

RewriteEngine on
RewriteCond %{HTTP_HOST} ^yoursite.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.yoursite.com [NC]
RewriteRule ^(.*)$ https://www.yoursite.com/$1 [L,R=301,NC]

# 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

但是在添加这个我的网站后没有打开它说“ERR_TOO_MANY_REDIRECTS”

如何解决这个问题,我希望用户直接去https

【问题讨论】:

    标签: wordpress .htaccess redirect


    【解决方案1】:

    问题是您没有检查是否正在使用 https,所以它只是不断告诉浏览器转到 https://www.yoursite.com/$1

    可以使用%{HTTPS}查看请求是否使用https。

    RewriteEngine on
    RewriteCond %{HTTPS} !^on$ [NC]
    RewriteRule ^(.*)$ https://www.yoursite.com/$1 [L,R=301,NC]
    

    【讨论】:

    • 抱歉这么晚才接受答案,当时我是菜鸟,不知道如何使用 SO。
    • @RaunakGupta 没问题。迟到总比不到好。 :)
    猜你喜欢
    • 2011-03-07
    • 2015-03-29
    • 1970-01-01
    • 2019-09-24
    • 2015-07-15
    • 2021-09-10
    • 2016-07-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多