Basic認証、IP制限、リダイレクトの応用

.htaccess を使えば、共用サーバーでも 管理エリア保護アクセス制御SEO を損なわないリダイレクト が実装できます。ここでは概要と主要レシピを示し、詳しい運用例は必要に応じて拡張してください。


  1. Basic認証でディレクトリ保護
  2. IP制限でアクセスコントロール
  3. HTTP→HTTPS・www 統一リダイレクト
  4. トラブルシュート
  5. まとめ & 次のステップ

1. Basic認証でディレクトリ保護

1.1 .htpasswd を作成

  • SSH がある場合 htpasswd -c /home/user/.htpasswd adminuser
  • SSH が使えない場合
    Web の「htpasswd 生成ツール」で暗号化文字列を生成 → .htpasswd に貼り付けてアップロード。

1.2 .htaccess 記述例

AuthType Basic
AuthName "Restricted Area"
AuthUserFile /home/user/.htpasswd
Require valid-user

ポイント: AuthUserFile は絶対パス。プランごとに異なるのでサーバー情報で確認。


2. IP制限でアクセスコントロール

<RequireAll>
  Require all denied          # デフォルト拒否
  Require ip 203.0.113.5      # 固定 IP
  Require ip 198.51.100.0/24  # 社内 CIDR
</RequireAll>
  • 複数 IP は行を分けて列挙。
  • 動的 IP なら VPN で固定化 or Basic 認証と併用が現実的。
  • Cloudflare など CDN 配下なら、CF-Connecting-IP ヘッダーで制御する手法も。

3. HTTP→HTTPS・www 統一リダイレクト

3.1 常時 SSL(HTTP → HTTPS)

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

3.2 非 www → www へ統一

RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

ポイント

  • 301 リダイレクトを使用し、検索エンジンに恒久的変更を通知。
  • SSL 証明書は example.comwww.example.com の両方をカバー。

4. トラブルシュート

症状主な原因対応策
500 Internal Server Error.htaccess 構文エラー1 行ずつコメントアウトし、原因行を特定
ログインポップアップ無限ループAuthUserFile パス不一致/パーミッション不足絶対パス再確認・.htpasswd を 600~640 に
IP 制限が効かないCDN 経由で実 IP が見えないRequire env と SetEnvIf でヘッダー値を参照
HTTPS リダイレクトで無限ループ既に HTTPS でも再リダイレクトRewriteCond %{HTTPS} off を忘れずに

5. まとめ & 次のステップ

  • Basic認証 でステージングや管理画面をパスワード保護。
  • IP 制限 でさらに攻撃対象を絞り込み。
  • 301 リダイレクト で HTTPS 常時化 & URL 統一を行い、SEO を維持。

次は [SSHキー認証(対応プランのみ)] へ進み、パスワードを使わない安全な接続方式を導入しましょう。

上部へスクロール