2017-09-01 218 views
0

我想將我的wordpress網站從http重定向到https,因此我使用以下代碼.htaccess。但它給了我錯誤「頁面沒有正確重定向」。使用.htaccess從http重定向到https

RewriteCond %{HTTPS} off 
RewriteRule^https://www.mywebsite.com%{REQUEST_URI} [L,NE,R=301] 

我已經啓用了SSL的wp-config文件,它工作正常,如果我從一個頁面轉到另一個頁面。只有當我複製粘貼任何http鏈接到瀏覽器中時,我纔會收到問題,然後它不會重定向到https

+0

測試在Chrome瀏覽器開發工具,**緩存禁用**併爲您在聯網標籤是什麼301/302重定向你的網址。 – anubhava

+0

@anubhava ERR_TOO_MANY_REDIRECTS –

+0

不,chrome dev工具會在ERR_TOO_MANY_REDIRECTS錯誤前顯示每個重定向。 – anubhava

回答

0

我使用以下內容,同時確保您沒有可能啓用的緩存插件。

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/

RewriteCond %{HTTPS} !=on 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]] 
</IfModule> 
+0

ERR_TOO_MANY_REDIRECTS –

+0

您是否已更新數據庫中的站點URL以包含https?這聽起來像WordPress試圖將https重定向到http?因此重定向循環。 – heady12

+0

是的,我申請ssl證書時已經做到了。 –

0
# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/

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

RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

# END WordPress 

接下來的事情要照顧,確認有https在WordPress地址&網站地址。並且下一點,如果頁面中只有http,那麼它有時會顯示錯誤,所以確認每個http已更新至https

+0

WordPress的地址已經是'https',並且如果我將一頁轉到另一頁,它就可以正常工作。但現在,問題是,如果我調用'http' url,那麼它不會重定向到'https'。我試過你的代碼,但仍然是相同的錯誤。 –

+0

我剛剛編輯過代碼,只試過一次! –

0

重定向HTTP到HTTPS:

# BEGIN WordPress 
    <IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase/

    RewriteCond %{HTTPS} !=on 
    RewriteRule ^(.*) https://%{SERVER_NAME}/$1 [R,L] 
    RewriteBase/
    RewriteRule ^index\.php$ - [L] 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule . /index.php [L] 
    </IfModule> 
    # END WordPress