06-6777-3688
大阪のホームページ制作会社【ファ  ーストネットジャパン】BLOG

BLOG

各種htaccessを集めてみた

2017年11月15日

今日はhtaccessのお話をします。ホームページを制作している上でかかせないのがhtaccessです。

今回はこのhtaccessを取り上げて便利なものをアップしておきたいと思います。
そもそもこのhtaccessってなんぞやということですがWeblioには以下のような記述になっています。

.htaccessとは、WebサーバーのApacheにおける、サーバーのディレクトリごとの設定情報を記しておくためのファイルのことである。分散設定ファイルと形容されることもある。

.htaccessに記述された設定情報は、.htaccess自体が設置されたディレクトリと、その下位階層に位置したサブディレクトリに対して有効となる。設定可能な内容としては、パスワードの設定(Basic認証)、特定のホストコンピュータからのアクセスの拒否、Webページのリダイレクトなどを挙げることができる。

Apacheにおけるメインの設定は、httpd.confと呼ばれる設定ファイルによって行われる。httpd.confは、Webサーバーの管理者(スーパーユーザー)によってのみ編集や更新が可能である。httpd.confの設定によって、.htaccessで設定できる内容を制限することもできる。

要するにホームページを表示する際にサーバー上でいろいろな設定や制御をすることができるのだけれどもhttpd.confというメインとなる設定ファイルを触ってしまうと壊れてしまう可能性があるのでhtaccessというファイルで他のディレクトリに影響をうけることなく設定できますよ、というもの。
設定できることはいろいろありますが今回は以下の内容を紹介します。

<<目次>>

  • ・パスワード認証(Basic認証)
  • ・CGIを動作するようにする
  • ・index.htmlやindex.phpなどをデフォルトのトップページにする
  • ・PC・スマホ・ガラケーの場合別ページへのジャンプ
  • ・SSLページに強制的に切替
  • ・www有り無しを統一
  • ・404エラー(not found)の表示

パスワード認証(Basic認証)

Basic認証はホームページにブラウザでアクセスした際にIDとパスワードを求められるよくあるアレです。

1).htaccessファイルに以下のように記述

“/絶対パス/.htpass”はサーバー上のフルパスになります。例えば/home/user/saito/とか/var/www/httpd/などです。
サーバーによって異なりますのでレンタルサーバーに聞いてみてください。

2).htpassに以下のようにパスワードを記述

書式は”ユーザーID(英数)/暗号化されたパスワード”です。
パスワードは必ず暗号化される必要があります。例えば0000というパスワードの場合「ke9659oc.G6s」のようになります。パスワードの変換に関してはパスワード生成CGIを同梱していますのでそちらを利用してください。

ダウンロード:basic認証用htaccess
※設置方法の説明書も入っています。

CGIを動作するようにする

このhtacessはサーバーでCGIが動くようにするものです。
最近のレンタルサーバーではCGI(perl)が動作しないなんてサーバーはほぼ無いと思いますが、プランによって動作しないものがあります。
たとえば専用サーバー(root権限が与えられている)やVPS、cgi-binでしかCGIが動作しないサーバー。
もしブラウザでCGIにアクセスした際にブラウザ上ににソースがそのまま出力されていたらこれを使ってみてください。

1)htaccessを該当のディレクトリにアップロードしてください。
Internal Server Errorが出たらそもそも使ってはいけないサーバーですのでサーバー会社に問い合わせてください。

.htaccessの書き方

ダウンロード:CGI用htaccess

 

index.htmlやindex.phpなどをデフォルトのトップページにする

ホームページを見ているとファイル名が表示されないいわゆる/で終わっているURLがあります。
たとえばhttp://www.1st-net.jp/とかhttp://www.yahoo.co.jp/とか下層ページに於いても同じでhttp://www.google.co.jp/sample/など
ファイル名で終わる場合というのはhttp://www.yahoo.co.jp/sample1.htmlなどのように最後に.htmlという拡張子が付く場合のことをいいます。

じつはこれhttp://www.1st-net.jp/というのはhttp://www.1st-net.jp/index.htmlのようにファイルがあるんだけれどもURLを短くするためにindexを省略しているんですね。今時ホームページのURLがhttp://www.yahoo.co.jp/index.htmlなんかになっていたらかっこ悪いですよね。それを省力するためのhtaccessになります。

以下の例ではindex.html > index.cgi  > index.php > index.shtml の優先度でページがファイル名なしで出力されます。
ファイルを上記のように複数記載することはOKです。いろいろなディレクトリで汎用的につかえるため複数記載しています。

.htaccessの書き方

ダウンロード:ディレクトリインデックス用htaccess

 

PC・スマホ・ガラケーの場合別ページへのジャンプ

このhtaccessを使ってパソコンサイトにアクセスしたスマホーユーザーをスマホ専用ページに自動的にジャンプさせるものです。
たとえばhttp://www.hogehoge.com/ → http://www.hogehoge.com/sp/ へジャンプのようになります。

.htaccessの書き方

ダウンロード:スマホ切替用htaccess

ちなみに旧来のガラケーの場合の切り替え用
.htaccessの書き方

ダウンロード:ガラケー切替用htaccess

 

SSLページに強制的に切替

昨今セキュリティ上の観点からSSLのサイトに切り替えるところが増えてきました。
GoogleもすべてのページにおいてSSLにするよう勧めていますのでこのhtaccessをつかってhttpでアクセスしてもすべてhttpsに自動的に切り替えてくれるようにしてみましょう。
※サーバーで独自SSLは購入する必要はありますのでご注意を。

.htaccessの書き方

ダウンロード:SSLジャンプ用htaccess

 

www有り無しを統一

URLでwwwがあるサイトと無いサイトがあります。どちらのURLでもOkという場合ならいいのですがSEOの絡みや名刺に書く手前どちらからに統一したい場合があります。
その場合に使えるhtaccessです。

.htaccessの書き方

・wwwありのURLに統一したい場合

・wwwなしのURLに統一したい場合

ダウンロード:www有り無し用htaccess

 

404エラー(not found)の表示

googleのSearch Consoleにおいて404ソフトエラーというものが出ていませんか?
それが出ているということは404エラーをgoogleロボットさんにレスポンスしていないということです。SEO的にははっきりはしませんが改善されたほうがいいと思います。

.htaccessの書き方

ここでミソなのが”/404.html”の部分をドキュメントルートからの絶対パスで書くこと。http付きのURLでも404は表示されますがGoogleはそのステータスを受け取れないのでNGです。
NG:http://sample.com/404.html
もちろん404.htmlというファイル名は別にerror.htmlというようにしてもOKです。ファイル名は任意です。

ダウンロード:404エラー用htaccess

以上です。
よかったら使ってみてください。

今日はこのへんで。