(1) BASIC認証(パスワード生成)作成

(2) IPアドレス制限(拒否/許可)作成

(3) URLリダイレクト作成


htaccessとは?

.htaccessとは、Apacheを用いたWebサーバにおいて、ディレクトリ単位で設置及び設定を行える設定ファイルである。

主に、BASIC認証の追加や、IPアドレスによるアクセスの制限404エラーページのリダイレクトなどが設定できます。サイトの安全性に寄与したり、利便性向上の作業を簡易化できたりと随所で役立つファイルです。


htaccessで何ができるの?

htaccessを利用することで、さまざまな設定を行うことができます。
たとえば、
IDとパスワード認証によるアクセス制限
IP or ドメイン指定によるアクセス制限
特定ページ(又はディレクトリ)への、リダイレクト設定
「.htaccess」の利用用途としては、ユーザー認証やアクセス制限といったセキュリティ対策で用いられる事が多いです。


1)htaccessによるURL正規化(例)

◆「www」ありなしの統一 (※ドメイン例は「flexion.jp」とします)

1) WWWありに統一

RewriteEngine on

RewriteCond %{HTTP_HOST} ^flexion\.jp
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ http://www.flexion.jp/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^flexion\.jp
RewriteCond %{SERVER_PORT} 443
RewriteRule ^(.*)$ https://www.flexion.jp/$1 [R=301,L]

2) WWWなしに統一

RewriteEngine on

RewriteCond %{HTTP_HOST} ^www\.flexion\.jp
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ http://flexion.jp/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www\.flexion\.jp
RewriteCond %{SERVER_PORT} 443
RewriteRule ^(.*)$ https://flexion.jp/$1 [R=301,L]


◆「http」か「https」の統一 (※ドメイン例は「flexion.jp」とします)

1) httpsに統一

RewriteEngine on

RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

2) httpに統一

RewriteEngine on

RewriteCond %{SERVER_PORT} 443
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]


2)htaccessによるファイル一覧表示中止(例)

Options -Indexes

3)htaccessによる各種端末振り分け(例)

1) スマホ端末振り分け処理例

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteCond %{HTTP_USER_AGENT} (iPhone|Android.*Mobile|Windows.*Phone) [NC]
RewriteRule ^$ /sp/ [R=301,L]
</IfModule>

2) キャリア別振り分け処理例

<IfModule mod_rewrite.c>
RewriteEngine On

# DoCoMo
RewriteCond %{HTTP_USER_AGENT} DoCoMo
RewriteRule ^(.*)$ /docomo/ [R]

# Softbank
RewriteCond %{HTTP_USER_AGENT} (J-PHONE|Vodafone|SoftBank)
RewriteRule ^(.*)$ /softbank/ [R]

# AU KDDI
RewriteCond %{HTTP_USER_AGENT} (KDDI|UP\.Browser)
RewriteRule ^(.*)$ /au/ [R]

# DDI Pocket
RewriteCond %{HTTP_USER_AGENT} DDIPOCKET
RewriteRule ^(.*)$ /ddi/ [R]

# WILLCOM
RewriteCond %{HTTP_USER_AGENT} WILLCOM
RewriteRule ^(.*)$ /willcom/ [R]

# iPod
RewriteCond %{HTTP_USER_AGENT} iPod
RewriteRule ^(.*)$ /ipod/ [R]

# iPhone
RewriteCond %{HTTP_USER_AGENT} iPhone
RewriteRule ^(.*)$ /iphone/ [R]

# iPad
RewriteCond %{HTTP_USER_AGENT} iPad
RewriteRule ^(.*)$ /ipad/ [R]

# Android
RewriteCond %{HTTP_USER_AGENT} Android
RewriteRule ^(.*)$ /android/ [R]

# Windows Mobile
RewriteCond %{HTTP_USER_AGENT} Windows\ Phone
RewriteRule ^(.*)$ /win_mobile/ [R]

</IfModule>