2017-01-26 9 views
1

wwwとwww以外のHTTPリクエストからhttpsとwwwリクエストへのリダイレクトを作成しましたが、これはかなり簡単でした。私は.htaccessのwwwとフルパス以外のwww要求へのフルパス

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

に次のルールを使用しかし、今の問題は、誰かが最後にドメインとプロジェクトabout.htmlのような古い非セキュアURLを入力したときの.htaccess httpsにリダイレクトされますが、再び最後にリクエストを追加します私はそれを修正するにはどうすればよい

/project-about.htmlproject-about.html 

:そうドメイン後の要求は次のようになり?このおかげ

答えて

1

変更を:

RewriteEngine On 
RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule^https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 
RewriteCond %{HTTPS} off 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 
+0

リダイレクトを追加しなくても非常に効果的です。テストされ、確認された。ありがとう –

1

使用この:

RewriteEngine On 

RewriteCond %{HTTP_HOST} !^www\. [NC,OR] 
RewriteCond %{HTTPS} !=on 
RewriteRule^https://www.example.com%{REQUEST_URI} [R=301,L,NE] 

この方法は、あなたのウェブサイトをスピードアップに貢献し、また余分なRewriteRuleの必要性を取り除きます。

これをテストする前にキャッシュをクリアしてください。

+0

これは、リクエストされたURLにwwwが既に含まれている場合、追加のwwwを追加します。 –

+1

@Igorこれはリクエストに特別なwwwを追加しません。キャッシュをクリアします。 – starkeen

+0

@starkeenと同じように、私が答えに入れたものは、キャッシュをクリアしてください。 – Lag

関連する問題