WEB MEMO LOG

【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」による認証用パスワード暗号化ツールはこちらをご参考ください。

ユーザー名:エンコードされたパスワード

関連記事