.htaccess は Apache の万能スイス・アーミーナイフ.個人開発者が押さえておきたい実用パターン10選を整理する.

この記事では,個人開発者・スモールチーム・学生エンジニアの方を主な読み手として書いています.10分で読み終わって,明日から動ける具体的な行動が1つ見つかる状態を目指しています.

なぜ .htaccess を押さえると効くのか

.htaccess はサーバー側の個別ディレクトリ設定.レンタルサーバーで Nginx のnginx.confを触れない場合でも,.htaccess ならユーザー権限で書き換え可能

リダイレクト・キャッシュ・セキュリティ・パスワード保護まで,1ファイルで完結する.個人開発のレンタルサーバー運用ではほぼ必須.

パターン1:HTTP→HTTPS 強制リダイレクト

もっとも頻繁に使う設定.RewriteCond %{HTTPS} off + RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

301(恒久)で書く.302(一時)だと SEO 評価が引き継がれない.ロードバランサ経由ならX-Forwarded-Protoで判定.

パターン2:www あり / なしの正規化

apex に統一する場合: RewriteCond %{HTTP_HOST} ^www.example.com$ [NC] + RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]

www あり統一は逆向き.SEO評価の分散を防ぐため必ずどちらかに統一

パターン3:旧URL→新URLの301

サイトリニューアル時の必須.Redirect 301 /old-page/ /new-page/.サイト構造を変えるたびに,過去URLからの導線を保つ.

大量にある場合はRedirectMatchで正規表現一括も可.ただし速度低下に注意.100行を超えるなら別途map機能の検討.

パターン4:静的アセットの長期キャッシュ

<FilesMatch ".(jpg|png|css|js|woff2)$"> + Header set Cache-Control "max-age=31536000, public".1年キャッシュで CDN とブラウザの負担を激減.

HTML には設定しない.HTMLはmax-age=0, must-revalidateで即時更新可能に.

パターン5:Gzip / Brotli 圧縮の有効化

<IfModule mod_deflate.c> + AddOutputFilterByType DEFLATE text/html text/css application/javascript.転送量を60-80%削減

Brotli が使えるならmod_brotliを優先.圧縮率は Brotli の方が15-20%高い.

パターン6:Basic 認証でステージング保護

AuthType Basic + AuthUserFile /path/to/.htpasswd + Require valid-userhtpasswdコマンドでパスワードファイル生成.

.htpasswd は公開ディレクトリの外に置く.htaccess より上の階層に.これだけでステージング環境が外部から見えなくなる.

パターン7:IPアドレスでアクセス制限

管理画面にRequire ip 203.0.113.0/24.自宅・オフィスのIPだけ通すホワイトリスト方式.

WordPressなら/wp-admin/にだけ適用.攻撃面が一気に縮む.モバイルからも入りたい場合はVPN前提に.

パターン8:危険なファイルへのアクセス禁止

<FilesMatch "(wp-config.php|.env|.git)"> + Require all denied誤公開で機密が出る事故を遮断.

.git ディレクトリの誤公開でソースコード一式が流出する事故が定番.htaccess で守るのは最低限の防衛線.

パターン9:カスタム 404 / 500 ページ

ErrorDocument 404 /404.html.デフォルトの素っ気ない Apache エラーページから脱出.

500番台も独自に.「ご迷惑をおかけしています」+問い合わせ導線を入れるとクレーム率が下がる

パターン10:HSTS と Security ヘッダ

Header set Strict-Transport-Security "max-age=31536000; includeSubDomains".ブラウザに常にHTTPSで来ると宣言.

あわせてX-Content-Type-Options: nosniffReferrer-Policy: strict-originも追加.数行でセキュリティスコアがA以上に上がる.

補論:.htaccess は「自分の城のルールブック」

独自ドメインを取ったら,.htaccess を編集する権限が手に入る.これは「自分の城のルールブック」を書くことに近い.プラットフォームでは絶対にできない自由がある.

これからドメインを取るなら,取り扱い400種類以上のドメイン取得サービス─ムームードメイン─ で取得 → サーバー側で.htaccess を編集,が個人開発の王道.

.htaccess を扱うレンタルサーバーは,ロリポップ!がGUIエディタを持っており,サンプル付きで書ける.初心者の最初の一歩に向いている.

よくある質問

Q1:.htaccess の編集で500エラーが出たら?

FTP で直前バージョンに戻す.設定ミス1行で全部止まるのでバックアップ必須

Q2:Nginx には .htaccess はない?

ない.Nginxはnginx.confを直接編集.VPS派の選択.

Q3:パフォーマンスへの影響は?

.htaccess は毎リクエストで読まれる.行数が肥大化すると遅くなる.100行以内が目安.

まとめ ― .htaccess は「3行で世界が変わる」

大事なのは,「正解を完璧に押さえる」ことではなく「動き始める」ことです.今日,自分のサイトに HTTPS強制リダイレクトの3行を入れましょう.それだけで安全性が上がります.