9/30/2024

.htaccessの基本設定(Xサーバ)

SetEnvIf Request_URI ".*" Ngx_Cache_NoCacheMode=off
SetEnvIf Request_URI ".*" Ngx_Cache_AllCacheMode
AddHandler fcgid-script .html

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

各行の意味


1行目 SetEnvIf Request_URI ".*" Ngx_Cache_NoCacheMode=off

すべてのリクエストURIに対して、Ngx_Cache_NoCacheMode 環境変数を off に設定
これはキャッシュ無効化モードをオフにし、キャッシュを有効化する設定なので、サイトの更新中は行頭にコメントアウト(#)しておく

2行目 SetEnvIf Request_URI ".*" Ngx_Cache_AllCacheMode

すべてのリクエストURIに対して、Ngx_Cache_AllCacheMode 環境変数を設定(デフォルトでは値 1 が設定されてる)
これですべてのコンテンツをキャッシュ対象とするモードが有効になってるので、サイトの更新中は行頭にコメントアウト(#)しておく

3行目 AddHandler fcgid-script .html

拡張子 .html ファイルを fcgid-script ハンドラーで処理するように設定
PHPコードなどのサーバサイドスクリプトを .html ファイル内で実行可能にするためなので、PHPを使用してても拡張子 .php ファイルでしか使わなければ不要
ブラウザ上で実行されるJavaScriptはクライアントサイドスクリプトなので不要

5行目以降はHTTPからHTTPSへのリダイレクト設定

&lt;IfModule mod_rewrite.c&gt;:
mod_rewrite モジュールが有効な場合にのみ、内部のリライトルールを適用
RewriteEngine On:
URLの書き換え機能を有効化
RewriteCond %{HTTPS} off:
リクエストがHTTPの場合にのみ、次のリライトルールを適用する条件を設定
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]:
すべてのHTTPリクエストを同じホスト名とリクエストURIを保持したまま、HTTPSにリダイレクト
R=301: 
恒久的なリダイレクトを指定
L: 
これが最後のルールであることを示し、他のリライトルールの適用を停止

0 件のコメント: