2017-01-31 10 views
1

私は約1.000の静的ページのサイトを持っています。私は、httpからhttpsへの移動が、サイト全体を移動する前に、 。いくつか(ただしすべてではありません)http https

以下の最初のコード例を使用する必要がありますか、それとも2番目のコード例で十分ですか?それとももっと良い方法がありますか?

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

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

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


# OR IS THIS ENOUGH: 


Redirect 301 /page-1.htm https://www.example.com/page-1.htm 
Redirect 301 /page-2.htm https://www.example.com/page-2.htm 
Redirect 301 /page-3.htm https://www.example.com/page-3.htm 
+0

を2番目の例は動作しません(HTTPSが別のVirtualHostにあり、これをHTTPS以外のものにのみ適用しない限り)。最初の例では、 'RewriteEngine On'の2番目または3番目のインスタンスは必要ありません。スターケンの応答は素晴らしいです – thomasrutter

答えて

1

あなたが明示的に独立したのRewriteRule文でそれをしたい場合は、この形式ページn.htm

RewriteEngine on 
RewriteCond %{HTTPS} off 
RewriteRule ^page-([0-9]+).htm$ https://%{HTTP_HOST}/page-$1.htm [NE,L,R=301] 
+0

ありがとう、ありがとう。それは知って良いです。 ファイル名がそれ以上異なる場合は、最善の方法は何か分かりますか? blahblah.htm tjohoo.htm whatever.htm – Magstorm

+0

この場合、** ^(。+)\。htm $ **のパターンを使用して、ターゲットを** httpsに置き換えます://%{HTTP_HOST} /$1.htm** – starkeen

+0

私は実際にこれを聞いて恥ずかしいと感じますが、それらの3つの "ダミー"ファイル名で完全なコードを私に渡すことができると思いますか? – Magstorm

0

の複数のページにリダイレクトするために単一のルールを使用することができます。

RewriteEngine on 

RewriteCond %{HTTPS} off 
RewriteRule ^page-1\.htm$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301] 

RewriteCond %{HTTPS} off 
RewriteRule ^page-2\.htm$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301] 

RewriteCond %{HTTPS} off 
RewriteRule ^page-3\.htm$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301] 
+0

大変ありがとうございます:-) – Magstorm

関連する問題