2018.07.28
【Web】リダイレクト設定等でよく使う「.htaccess」の書き方サンプルコードのまとめ
ドメインが変更になった場合や、wwwありなしのURL統一やhttpからhttpsへのリダイレクト、Basic認証、.htmlのままでPHPが動くように設定する等、様々な設定ができる「.htaccess」ですが、よく使うサンプルをメモメモ。
※「.htaccess」を変更するとサイトが見れなくなる場合もございますので、くれぐれも自己責任でお願いいたします。
wwwありなしのURL統一
・wwwありに統一
RewriteEngine On
RewriteCond %{HTTP_HOST} ^●●●.com
RewriteRule ^(.*)$ https://www.●●●.com/$1 [R=301,L]
・wwwなしに統一
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.●●●.com
RewriteRule ^(.*)$ https://●●●.com/$1 [R=301,L]
index.htmlなしに統一する場合
・全ページ統一
RewriteEngine On
RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ http://●●●.com/$1 [R=301,L]
・TOPページのみ統一
RewriteEngine On
RewriteRule ^index.html$ https://●●●.com/ [R=301,L]
ドメインが変更になった場合
・旧ドメインに設置
RewriteEngine On
RewriteRule ^(.*)$ https://●●●.com/$1 [R=301,L]
http⇒httpsに統一
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
・WordPressの例
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
</IfModule>
# BEGIN WordPress
<IfModule mod_rewrite.c>
~略~
</IfModule>
# END WordPress
拡張子「.html」にてPHPを実行する
※お使いのレンタルサーバやPHPのバージョンによって異なりますので、各レンタルサーバーのヘルプページ等をご参照ください。
AddType application/x-httpd-php .php .html
AddHandler application/x-httpd-php .php .html
・ロリポップの場合
※お使いのPHPバージョンを調べたうえで該当するバージョンのコードを記述してください。
AddHandler php5.2-script .htm .html #←PHPのバージョンが5.2の場合
AddHandler php5.3-script .htm .html #←PHPのバージョンが5.3の場合
AddHandler php5.4-script .htm .html #←PHPのバージョンが5.4の場合
・ヘテムルの場合
※お使いのPHPバージョンを調べたうえで該当するバージョンのコードを記述してください。
AddHandler php4-script .html #←PHPのバージョンが4の場合
AddHandler php5-script .html #←PHPのバージョンが5.2の場合
AddHandler php5.3-script .html #←PHPのバージョンが5.3の場合
AddHandler php5.4-script .html #←PHPのバージョンが5.4の場合
・さくらインターネットの場合
Action myphp-script /php.cgi
AddHandler myphp-script .php .html
※上記「.htaccess」の他に、下記php.cgiというファイルを作成し「.htaccess」と同階層にアップロード
#!/bin/sh
exec /usr/local/bin/php-cgi
Basic認証をする
・「.htaccess」ファイル
※フルパスを調べる方法はこちら
AuthUserfile /フルパス/.htpasswd
AuthGroupfile /dev/null
AuthName "Please enter your ID and password"
AuthType Basic
require valid-user
・「.htpasswd」ファイル
※「.htaccess」による認証用パスワード暗号化ツールはこちらをご参考ください。
ユーザー名:エンコードされたパスワード