よく使われる3つの.htaccessテクニック

4月 1, 2009 · Posted in Apache, linux 
Post to Google Buzz
このエントリーをはてなブックマークに追加

システムをやる上で、.htaccessはよく使いますが、自分で0から作るのではなく、毎回ネットで調べてコピペみたいな感じで対応してるのが現状です。
実際、コピペで十分ではあるんですが、せっかくなのでよく使われる.htaccessテクニックをまとめてみました。

これで次回からは、調べる手間が減るのかな。

  1. Basic認証
  2. これは基本ですね。レンタルサーバーだと管理画面上から自動的に生成してくれたりする機能もあったりしますね。
    AuthUserFile /home/hogehoge/.htpasswd
    AuthGroupFile /dev/null
    AuthName "Please enter your ID and password"
    AuthType Basic
    require valid-user

    1行目は、パスワードを記述してある.htpasswdまでのパスを設定してください。
    相対パスではなく絶対パスで記述する必要があります。

    2行目は、グループ設定を記述してあるファイルまでのパスを設定してください。
    「/dev/null」と記述すると設定しないという意味になります。

    3行目は、Basic認証のダイアログで表示するメッセージです。
    日本語も可能ですが、文字コードには注意してください。

    4行目は、認証の種類です。今回はBasic認証を設定します。

    5行目は、受け入れるユーザーを指定します。
    「valid-user」と記述すると認証を通った全てのユーザーを受け付けます。

  3. IP制限(特定アクセス元のみ許可)
  4. 管理システムなど、特定の人しかアクセスしない場合には、IP制限をつける場合があります。

    order deny,allow
    deny from all
    allow from .aaa.jp # aaa.jpを許可
    allow from 142.91. # 142.91.xxx.xxx を許可
    allow from localhost # ローカルからのアクセスを許可する

    1行目は、設定する順番を指定します。

    2行目は、全てのアクセスを拒否しています。

    3行目以降で、特定のアクセス元のみ許可するように設定しています。

  5. リダイレクト処理
  6. SEO対策のために、indexページのURLを統一したり、wwwのあり・なしを統一することがあります。
    また、HTTPからHTTPSへリダイレクト処理もよく使われたりします。

    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^domain-name\.com
    RewriteRule ^(.*)$ http://www.domain-name.com/$1 [R=301,L]
    RewriteCond %{THE_REQUEST} ^.*/index.html
    RewriteRule ^(.*)index.html$ http://www.domain-name.com/$1 [R=301,L]

    上記の「http://www.domain-name.com/」の部分を「https://www.domain-name.com/」にして、HTTP側に設置すれば、HTTPから、HTTPSへリダイレクトしてくれます。

レンタルサーバーの場合は、.htaccessが使用できるのか確認が必要です。
また、リダイレクト等のURLの書き換えを行う場合には、サーバー側で「mod_rewrite」が使える設定になっている必要があるのでご注意を!!

Comments

Leave a Reply