htaccessファイルとは何ですか?
.htaccess ファイル Apacheは、ディレクトリおよびサブディレクトリレベルでの設定を可能にするツールです。 。htaccessを使用する サーバー構成ファイルを変更せずにWebサイトのアクセス許可を構成できます。
このチュートリアルでは、 htaccessを設定して有効にする方法を説明します。 Apacheで。 また、サーバー上の特定のローカリゼーションへのアクセスを制限する方法、IPアドレスを管理する方法、およびトラフィックをリダイレクトする方法についても説明します。
前提条件
- 動作しているApacheWebサーバー
- ターミナルウィンドウ/コマンドラインへのアクセス
- sudo権限を持つユーザーアカウントへのアクセス
- Nなどのテキストエディタ ano 、デフォルトで含まれています
ステップ1:Apache.htaccessを有効にする
デフォルトでは、。 htaccess ファイルが有効になっていません。
1.ターミナルで次のコマンドを入力して、デフォルトのホスト構成ファイルを開きます。
sudo nano /etc/apache2/sites-available/default
2.
そのセクションで、 AllowOverride None
を変更します すべてのエントリ:
AllowOverride All
ファイルを保存 終了します。
3.次に、再起動 Apacheサービス:
sudo systemctl apache2 restart
ステップ2:.htaccessファイルを作成する
ほとんどのLinuxソフトウェアパッケージと同様に、Apacheは構成ファイルで機能します。 .htaccess ファイルはこれらの1つです。値とともに設定を指定することで機能します。
.htaccessを作成して開くには 編集するファイルには、次のように入力します:
sudo nano /var/www/my_website.com/.htaccess
my_websiteを置き換えます あなたの実際のウェブサイトの名前で。このファイルが存在しない場合は、テキストエディタで作成されます。
ステップ3:ディレクトリリストを制限する
アクセスを制限したい場所がサーバー上にある可能性があります。これを行うには、アクセスを許可されているユーザー名とパスワードのリストを作成します。
1.新しいファイル.htpasswdを作成することから始めます 別のディレクトリにある:
sudo nano /user/safe_location/.htpasswd
作成する各ユーザーのユーザー名とパスワードを入力します。必ず強力なパスワードを使用してください 、1行に1つのユーザー名とパスワードのペアのみを入力します。
ファイルを保存して終了します。
2.次に、.htaccessを編集して認証を有効にする :
AuthUserFile /user/safe_location/.htpasswd
AuthGroupFile /dev/null
AuthName "Please Enter Password"
AuthType Basic
Require valid-user
/ user / safe_location / htpasswdを置き換えます お好みの場所で。セキュリティ上の理由から、Webコンテンツと同じディレクトリに保存しないでください。
AuthUserFile
-これにより、.htpasswdファイルの場所が設定されます。
AuthGroupFile
-グループを使用していないため、これはプレースホルダーです。
AuthName
-これはユーザーへのプロンプトです。必要に応じて言い換えることができます。
AuthType
-使用する認証の種類–これは変更しないでください。
Require valid-user
–複数の許可された人のいずれかがログオンできるようにします。これをRequireuser new_userに変更できます ユーザー名がnew_userのユーザーのみにアクセスを制限する 。
IPアドレスの管理
IPアドレスを管理する方法はたくさんあります:
- 特定のIPのみを許可します。
- 特定のIPアドレスをブロックします。
- リファラーによって訪問者をブロックします。
IPアドレスを許可する
IPアドレスを許可するには、動作を切り替えて、指定されたいくつかのIPアドレスを許可し、残りをブロックします。
コマンドを入力します:
order deny, allow
allow from 192.168.0.54
allow from 192.168.0
ブロックIPアドレス
htaccessでIPアドレスをブロックするには 、次のように入力します: order allow, deny
単一のIPアドレスをブロックするには、次のコードを入力します: deny from 192.168.0.54
最後の桁を省略すると、0〜255の範囲のすべてのIPアドレスがブロックされます。
例:deny from 192.168.0
リファラーによる訪問者のブロック
特定のサイトからサーバーにユーザーがリダイレクトされないようにすることができます。これは、トラフィックパターンを分離する場合に役立つことがあります。疑わしいソースから過剰なサーバートラフィックを取得している場合にも使用できます。
.htaccessを開きます ファイルを作成し、次のブロックを追加します:
RewriteEngine on
# Options +FollowSymlinks
RewriteCond %{HTTP_REFERER} blockeddomain\.com [NC]
RewriteRule .* - [F]
NC
オプションは、大文字または小文字を無視して、 BlockedDomain.comと入力してルールをバイパスできないようにするように指示します。 。
ドメインをさらに追加する場合は、次の点に注意してください。
RewriteEngine on
# Options +FollowSymlinks
RewriteCond %{HTTP_REFERER} blockeddomain\.com [NC,OR]
RewriteCond %{HTTP_REFERER} blockeddomain2\.com
RewriteRule .* - [F]
OR
フラグは、ブロックされたリファラーの追加がまだ完了していないことをシステムに通知します。最後のエントリでこのオプションを省略します。
トラフィックのリダイレクト
.htaccessを使用できます トラフィックをリダイレクトするファイル。
ファイルを開き、次のように入力します。
Redirect301/Other_Website.com/index.html/My_Website.com/index.html
このコマンドは、 Other_Website.comを検索しているすべてのトラフィックを取得します そしてそれをMy_Website.comにリダイレクトします 。
404ページを設定
。htaccessを使用できます 基本機能を新しい場所にポイントするファイル。一例として、404ページがあります。 。
1. .htaccessを開きます ファイルして入力します:
ErrorDocument 404 /404.html
この行は、システムにWebサイトのコンテンツディレクトリで /404.htmlを探すように指示します。 エラーページとしてファイルします。
2.次のコマンドを使用して404ページを作成します。
sudo nano cd /var/www/My_Website.com/public.html/404.html
これにより、 404.htmが開きます。 lテキストエディタでファイルします。
3.次に、次のコードを追加します。
<!doctype html>
<html>
<body>
404 Error: Page not found
</body>
</html>
このページをカスタマイズして、必要なあらゆる種類のエラーメッセージを表示できるようになりました。他のエラーページをカスタマイズすることもできます。 ErrorDocumentを指定するだけです 番号、たとえば、エラー500 ポイント.htaccessより 新しいerror.html 作成したファイル。