したいこと
「http」は「https」に301リダイレクト(正規化)
更に続けて
「/index.html」「/index.htm」は「/」に
「//index.html」「//index.htm」は「/~/」に301リダイレクト(さらにサブディレクトリも同様)(正規化)
更に続けて
ディレクトリの場合は
表示されるURLはそのままに「ディレクトリ/index.html」を表示させる
更に続けて
ファイルが存在しない場合は
表示されるURLはそのままにルートの「/index.html」を表示させる(SPA対応)
したこと
Apache
1DirectoryIndex index.html index.htm 2 3<IfModule mod_rewrite.c> 4 RewriteEngine on 5 6##http -> https 7 RewriteCond %{HTTPS} off 8 RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 9 10##/index.html, /index.htm -> / 11 RewriteBase / 12 RewriteCond %{REQUEST_URI} /index.(html|htm)$ 13 RewriteRule ^(.*)index.(html|htm)$ $1 [R=301,L] 14 15##SPA 16 RewriteBase / 17 RewriteRule ^index.html$ - [L] 18 RewriteCond %{REQUEST_FILENAME} !-f 19 RewriteCond %{REQUEST_FILENAME} !-d 20 RewriteRule . /index.html [L] 21</IfModule>
うまくいかないこと
したいことができません
解説サイトを見て試しているだけで理解はできていません
「http」は「https」に
の部分はできているっぽいです
SPA対応は
https://router.vuejs.org/ja/guide/essentials/history-mode.html
を丸写ししていますが
「表示されるURLはそのまま」にはなりません。
あと、できれば「http」から「https」へ「/index.html」「/index.htm」から「/」へ
の部分はリダイレクトが何度も発生しないように一括指定したいです
Apacheのバージョンはわかりません
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。