2017-09-07 12 views
0

私は、httpをAWSサーバーのhttpsにリダイレクトしようとしています。httpからhtaccessでリダイレクトする

私は何も動作は、以下のhtaccessの構文を試してみました:

RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R,L] 

そして

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

のウェブサイトはまだ私はそれを修正することができますどのように、httpでロードしますか?

+0

'AllowOveride All' - これは有効になっていますか? – Lag

+0

@Lagこれは彼の問題だと思います。 –

+0

'RewriteCond%{HTTPS} off'を' RewriteCond%{HTTPS}!on'に変更すると、リダイレクトループが発生しますか? – MrWhite

答えて

2

あなたはあなたのサイトにも、このWWWの使用を強制したい場合はこれは301がhttps

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteCond %{HTTPS} Off [NC] 
RewriteRule^https://example.com%{REQUEST_URI} [R=301,L] 

へのすべてのHTTPのリンクをリダイレクトします:

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteCond %{HTTP_HOST} ^example.com 
RewriteRule^https://www.example.com%{REQUEST_URI} [R=301,L] 
RewriteCond %{HTTPS} Off [NC] 
RewriteRule^https://www.example.com%{REQUEST_URI} [R=301,L] 

編集:

のmod_rewriteがデフォルトで無効になっていますAWS上でhttpd.confファイルで、/var/www/htmlの変更AllowOverride NoneからAllowOverride Allに変更し、Apacheを再起動する必要があります。

+0

あなたの答えはありがたいですが、これはまだ動作しません。ここはスクリーンショットhttp:// prntscrです.com/gi4rgm wwwからnon wwwは動作しませんし、httpからhttpsも動作しません。 – Radu033

+1

おそらくAWS側の設定に問題があります。これを見てmod_rewriteを有効にしてくださいhttps://forums.aws.amazon.com/thread.jspa?messageID=265770 –

+0

はい、ありがとうございました:) – Radu033

関連する問題