.htaccessの基本設定ガイド:リダイレクト・アクセス制御・MIME・CORS・キャッシュ最適化

ApacheサーバーでのWebサイト運用に欠かせない設定ファイル「.htaccess」。正しく使えばSEO対策、セキュリティ強化、表示速度改善まで幅広く対応できます。この記事では、URL書き換え、アクセス制御、MIME設定、キャッシュ制御、CORS対応など、よく使う設定を実例付きで丁寧に解説します。
目次
URL書き換え(リダイレクト・リライト)の基本
301リダイレクト(恒久的な転送)
Redirect 301 /old-page.html https://example.com/new-page.html
mod_rewriteを使った例:
RewriteEngine On
RewriteRule ^old-page.html$ https://example.com/new-page.html [R=301,L]
wwwなし → wwwあり に統一
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
任意のパス構造へのリライト
RewriteEngine On
RewriteRule ^product/([0-9]+)/?$ product.php?id=$1 [L,QSA]
アクセス制御(IP制限・Basic認証など)
特定IPのみ許可
Order Deny,Allow
Deny from all
Allow from 192.168.1.100
Basic認証の設定
AuthType Basic
AuthName "Restricted Area"
AuthUserFile /path/to/.htpasswd
Require valid-user
.htpasswd
の例:
admin:$apr1$Y7Cwxyz$8XGcWmvZt9rFg0F1hI.Vl0
MIMEタイプの設定(拡張子ごとの指定)
.json
ファイルを application/json
として配信
AddType application/json .json
.webmanifest
を application/manifest+json
に設定
AddType application/manifest+json .webmanifest
.wasm
(WebAssembly)の正しいMIMEタイプ
AddType application/wasm .wasm
セキュリティ強化:ディレクトリ一覧の無効化とファイル制限
ディレクトリリスティングの無効化
Options -Indexes
.htaccess
ファイルへのアクセス禁止
<Files ~ "^\.ht">
Order allow,deny
Deny from all
</Files>
.ini
, .log
ファイルのアクセス禁止
<FilesMatch "\.(ini|log)$">
Order allow,deny
Deny from all
</FilesMatch>
キャッシュコントロールの設定
ブラウザキャッシュの有効化
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
</IfModule>
Cache-Controlヘッダーの追加
<IfModule mod_headers.c>
<FilesMatch "\.(js|css|png|jpg|jpeg|gif|svg|webp|woff|woff2)$">
Header set Cache-Control "public, max-age=31536000"
</FilesMatch>
</IfModule>
CORS(クロスオリジン)設定
外部ドメインのWebフォントやAPIリソースを読み込む場合、CORS対応が必要です。
✅ 設定する場所は「リソースを提供する側のサーバー」
たとえば cdn.example.com
のフォントを your-site.com
から使う場合、cdn.example.com
側の .htaccess に設定が必要です。
すべてのドメインからのアクセスを許可
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
フォントファイルだけに限定(推奨)
<FilesMatch "\.(ttf|ttc|otf|eot|woff|woff2|font.css)$">
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
</FilesMatch>
特定ドメインのみ許可
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "https://your-site.com"
</IfModule>
まとめ:.htaccessの活用でサイト品質を向上させよう
.htaccess
はWebサーバーの挙動を柔軟に制御できる強力な設定ファイルです。SEO対策やセキュリティ強化、表示速度の改善などにおいて、正しく設定することでWebサイト全体の品質を大きく向上させることができます。設定変更時は構文ミスによるサーバーエラーに注意し、変更後はすぐに動作確認を行いましょう。

Contact
ウェブサイトの制作や運用に関わる
お悩みやご相談
お気軽にお問い合わせ下さい
ウェブサイトと一口に言っても、企業サイトやECサイト、ブログ、SNSなど、その“カタチ”は目的に応じてさまざまであり、構築方法や使用する技術も大きく異なります。株式会社コナックスでは、お客様のご要望やブランドの個性を丁寧に汲み取り、最適なウェブサイトの“カタチ”をご提案いたします。
デザイン、ユーザビリティ、SEO対策はもちろん、コンテンツ制作やマーケティング戦略に至るまで、あらゆるフェーズでお客様のビジネスに寄り添い、成果につながるウェブサイトづくりをサポートいたします。私たちは、ウェブサイトの公開をゴールではなくスタートと捉え、お客様のビジネスの成功に向けて共に伴走してまいります。