このツールについて
.htaccess 生成ツールは、よくある用途向けの Apache 設定ファイルを作成します:HTTPS の強制、www.example.com と example.com のどちらに統一するかの選択、恒久的な 301 リダイレクト、カスタム 404 ページ、gzip 圧縮、ブラウザキャッシュ、セキュリティヘッダー、CORS、画像の直リンク防止、そしてシングルページアプリケーション(SPA)のフォールバックです。
各機能はスイッチで切り替えます。オプションを変更するとファイルが更新され、各ブロックには短い説明コメントが付きます。モジュール固有のルールは <IfModule> で囲まれるため、モジュールがなくてもサイトは動き続けます。
使い方
- ドメイン を入力します(www と直リンクのルールで必要です)。
- 使いたい機能をオンにします。HTTPS を強制 と www の有無 は 1 回のリダイレクトにまとめられるため、訪問者が 2 回リダイレクトされることはありません。
- 301 リダイレクト を
;で区切ったold newの組で追加します。例:/old-page /new-page; /blog https://blog.example.com。 - 結果をコピーするか、ダウンロード を押して
.htaccessとして保存します。 - サイトのドキュメントルートにアップロードし、いくつかの URL をテストします。できればまずステージングサーバーで試してください。
例
example.com で HTTPS を強制し、www を外すと次のようになります:
<IfModule mod_rewrite.c>
RewriteEngine On
# Force HTTPS and remove www
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^example\.com$ [NC]
RewriteRule ^ https://example.com%{REQUEST_URI} [L,R=301]
</IfModule>
ヒント
- 301 リダイレクトはブラウザにキャッシュされます。テスト中はプライベートウィンドウを使うか、キャッシュをクリアしてください。
- HSTS(HTTPS を強制したときにセキュリティヘッダーに含まれます)は、すべてのサブドメインで HTTPS が動作することを確認してからオンにしてください。
- クライアントサイドルーティングを使う React、Vue、Angular アプリには SPA のフォールバックを使います。
よくある質問
› .htaccess ファイルはどこに置けばよいですか?
Apache サーバー上のサイトのドキュメントルート(index.html や index.php があるフォルダー)に置きます。ルールはその下のすべてのフォルダーにも適用されます。
› Nginx でも使えますか?
いいえ。.htaccess を読み込むのは Apache と、LiteSpeed などの互換サーバーだけです。Nginx では同じルールを Nginx 自身のサーバー設定に書く必要があります。
› アップロード後に 500 エラーが出るのはなぜですか?
多くの場合、ファイルで使っているモジュールが有効になっていません。各ブロックは <IfModule> で囲まれていますが、ホスティング側が AllowOverride で禁止していると、mod_rewrite のルールや Options -Indexes が失敗することがあります。セクションを 1 つずつ削除して原因を特定してください。
› リダイレクトはどう書けばよいですか?
旧パスと新 URL の組をセミコロンで区切って入力します。例:/old /new; /blog https://blog.example.com。各組が恒久的な 301 リダイレクトになります。