「.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
もっと詳しくはこちらの方がわかりやすく解説している
この記事が気に入ったらサポートをしてみませんか?