極個人的プログラミング学習備忘録

HTML、CSS、PHP、JavaScript、Vueなどで学習したことをメモしていきます

Webサイトのどのページを開いてもindex.htmlが開くような.htaccessファイル

サイトを移転した時など、.htaccess ファイルを使用して、Webサイトのどのページを開いても index.html が表示されるようにするには、以下のように記述します。

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !^/index\.html$
RewriteRule ^.*$ index.html [L]

RewriteEngine On:
リライトエンジンを有効にします。

RewriteBase /:
リライトのベースURLを指定します。この例では、ルートディレクトリをベースとしています。

RewriteCond %{REQUEST_URI} !^/index\.html$:
この条件は、リクエストされたURIが index.html でない場合にのみ次のルールを適用することを指定します。これにより、無限ループを防ぎます。

RewriteRule ^.*$ index.html [L]:
どのようなリクエストでも index.html にリダイレクトします。[L] フラグは、これ以上のルールを処理しないことを意味します。

この .htaccess ファイルをWebサイトのルートディレクトリに配置すると、すべてのページリクエストが index.html にリダイレクトされます。