まだまだある「.htaccess」の設定
「3-3 .htaccess(ドットエイチティアクセス)ってなに?」で紹介した、よく使う「.htaccess」の記述のうち、下記の4つについてまだ触れていませんでした。この記事では、下記の4つの書き方を確認してみたいと思います。
- PHPのバージョン設定
- Wordrpessの設定
- BASIC認証
- IP制限 などなど。
「3-3 .htaccess(ドットエイチティアクセス)ってなに?」で紹介した、よく使う「.htaccess」の記述のうち、下記の4つについてまだ触れていませんでした。この記事では、下記の4つの書き方を確認してみたいと思います。
この記事は「2020年12月17日」に書かれた記事です
ホームページを新規で制作する場合、初期設定のPHPやサーバーのコントロールパネルから選択したPHPを利用するため、あまり「.htaccess」に記述することはないかもしれません。しかし、
設定されているPHPのバージョンとは別のバージョンのPHPを使いたいケースがでてきます。「.htaccess」でPHP の設定が必要になることもあるので確認しておきたいと思います。
下記の一文を「.htaccess」に記述します。
https://support.heteml.jp/hc/ja/articles/-360042620513-PHP-のご利用方法
AddHandler php5.6-script .php
AddHandler php7.0-script .php
AddHandler php7.1-script .php上から順に、5.6を利用、7.0を利用、7.1を利用という記述です。※ほかのバージョンもあります。
バージョンにより「.htaccess」を指定しておかないと最新バージョンを使えない、または動作しないこともあります。
AddHandler x-httpd-php73 .php
7.3を利用の場合
Options +SymLinksIfOwnerMatch
RewriteEngine on
wordpress を設定すると自動的に「.htaccess」に記述されるため、通常書くことはありません。稀にサーバーの管理画面でアクセス制限を付与したり解除した際に消されてしまうことがあります。ほかにもうっかり消してしまったということもあるかもしれません。そんなときは下記の記述を追加します。
# BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress
「# BEGIN WordPress」と「# END WordPress」の間にうっかりリダイレクト処理などを書いてしまうと、wordpressの処理が行われた際に消されてしまうので、「# BEGIN WordPress」ではじまるWordpressの記述よりも前に書きましょう。
BASIC認証(ベーシック認証)はサーバーのコントロールパネルから設定できるので、あまり直に書くことはないかもしれませんが、制作などの際にセキュリティ上コントロールパネルを操作できない場合など、直接書くこともあるので覚えておいて損はないです。
「.htaccess」には下記の記述を追加します。
AuthUserFile フルパス/制限をかけたいディレクトリ/.htpasswd AuthGroupFile /dev/null AuthName "ウィンドウに表示される文字列" AuthType Basic require valid-user
ほんのすこし補足しておきたいと思います。
※それ以外の記述は「ウィンドウに表示される文字列」以外、基本的に変更の必要はありません
上記の設定が完了したら、BASIC認証(ベーシック認証)をかけたいディレクトリ(フォルダ)にアップロードします。
ホームページの制作中などであれば、直下を対象にしておけばホームページ全体に認証がかかります。テスト環境のみかけるのであれば/test/など使用しているテスト環境にファイルをアップロードします。
フルパス作成サイト。時々使わせてもらっています。
例)上記のサイトで暗号化してみました。
ユーザー名:test
パスワード:testpassword で暗号化すると
test:Y4Cw/Sefxc5g2
と表示されます。パスワードの文字列は毎回変わります。
BASIC認証(ベーシック認証)の場合、都度入力が必要となり面倒なことがあります。また、管理画面にログインする人を絞りたいこともあります。そんなときは、IPによる制限をかけることがあります。
たとえば、特定のIPからのアクセスを拒否したい場合に使用できます。
Order allow,deny
allow from all
deny from 000.00.00.000(IP)
たとえば、管理画面へログインできる人を絞りたいときなどに使用できます。
Order deny,allow
deny from all
allow from 000.00.00.000(IP)
以上、ざっくりとよく使う上記以外も「.htaccess」を見てきました。ほかにもを使う場面はありますがこのコンテンツではよく使うものだけをピックアップさせていただきました。また、あ、これも使うな。と思いだしたら書きたいと思います。
HOME > ホームページ制作 > 初心者のためのホームページ制作 > まだまだある「.htaccess」の設定