見出し画像

「.htaccess」の設定方法

「.htaccess」を使えば、サーバー全体ではなく、ディレクト単位で設定ができる

httpd.confを編集してしまうと、サーバー全体に設定がかかってしまい、細かいリダイレクトやユーザーや会員専用のページにベーシック認証などの設定が難しくなる

①リダイレクトの設定

ページ単位でのリダイレクト

RewriteEngine on
RewriteRule ^[previousURL].html$ https://www.example.com/[redirectTarget].html [L,R=301]

ディレクト単位でのリダイレクト

RewriteEngine on
RewriteRule ^[previousDirectory](.*)$ /[redirectDirectory]$1 [L,R=301]

ドメインのリダイレクト

RewriteEngine On
RewriteCond %{http_host} ^www.[previousDomain].com
RewriteRule ^(.*) https://www.[redirectDomain].com/$1 [R=301,L]

wwwの追加

RewriteEngine on
RewriteCond %{ HTTP_HOST} ^[yourDomain]\.com
RewriteRule ^(.*)$ https://www.[yourDomain].com/$1 [L,R=301]

404エラーページの表示

ErrorDocument 404 /404.html

SSL追加後のリダイレクト(http->https)

RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

②Basic認証の方法

.htpasswdのユーザーを作成するためにターミナルで以下をコマンドを打つ

htpasswd -c /var/www/passwd/.htpasswd user1
New password:
Re-type new password:
Adding password for user user1

ユーザーが追加できたら、パスワードファイルを作成

cat /var/www/passwd/.htpasswd
user1:$apr1$Isc/2gru$UR9RWOU5Lccb9LxJgSBIf.

.htpasswdが作れたら以下のコードを.htaccessに加える

AuthUserfile /[FullPath]/.htpasswd
AuthGroupfile /dev/null
AuthName "Please enter your ID and password"
AuthType Basic
require valid-user

もっと詳しくはこちらの方がわかりやすく解説している


この記事が気に入ったらサポートをしてみませんか?