mod_rewrite
に以下のルールと条件があり、HTTPSを追加するのが好きです。私はそれを公開する前にそれが正確であることを確認するのが好きです。HTTPSを既存のModリライトに追加
現在のルールと条件
RewriteEngine On
RewriteCond %{REQUEST_URI} \.jpg$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* /home/domain.com/public_html/missing.png [L]
RewriteCond %{HTTP_HOST} ^www.olddomain.com$
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule^http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteRule ^index.html$ http://www.domain.com/ [L,R=301]
新しいルールと条件
RewriteEngine On
RewriteCond %{REQUEST_URI} \.jpg$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* /home/domain.com/public_html/missing.png [L]
RewriteCond %{HTTP_HOST} ^www.olddomain.com$
RewriteRule ^(.*)$ https://www.domain.com/$1 [L,R=301]
RewriteCond %{HTTPS} Off
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule^https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteRule ^index.html$ https://www.domain.com/ [L,R=301]
あなたの質問から独立していますが、_really_エキゾチックなセットアップを持っていない限り、これは動作しません: 'RewriteRule。* /home/domain.com/public_html/missing.png [L]'。これはファイルシステムの絶対パスのように見えますが、それは 'RewriteRule'の内部で動作するものではありません。 – arkascha
今のところ働いて働くことが必要です。画像が欠落している場合は、その欠けている画像が挿入されています。 –
あなたはそう言っていますが、私は驚くでしょう:それは文書化されているものに反するものです。そこにはあなたが実際に絶対的なファイルシステムパスを書き換えルールのターゲットとして使うことができますが(あいまいであり、実行すべきではありませんが)、vhostの設定ではうまく動作しませんが、 '.htaccess'スタイルファイルでは動作しませんあなたが使っていると主張する。 – arkascha