.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

.webmanifestapplication/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対策はもちろん、コンテンツ制作やマーケティング戦略に至るまで、あらゆるフェーズでお客様のビジネスに寄り添い、成果につながるウェブサイトづくりをサポートいたします。私たちは、ウェブサイトの公開をゴールではなくスタートと捉え、お客様のビジネスの成功に向けて共に伴走してまいります。