htaccess いろいろ

基本

ドメイン単位でリダイレクトを実行する

https://www.FOO.com/ から https://www.BAR.com に転送する

旧サイトの評価を新サイトへ引き継ぐことができる

#最後は必ず改行を入れる


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

ディレクトリ単位でリダイレクトを実行する

/FOO/ から同じドメイン内の /BAR/ に転送する


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

ファイル単位でリダイレクトを実行する

/FOO.html から /BAR.html に転送する


RewriteEngine on
RewriteRule ^FOO.html$ /BAR.html [R=301,L]

ファイル単位で別のドメインやディレクトリにリダイレクトを実行する

/FOO.htmlにアクセスしたらhttps://FOOBAR.com/BAR/BAZ.html に跳ぶ


RewriteEngine on
RewriteRule ^FOO.html$ https://FOOBAR.com/BAR/BAZ.html [R=301,L]

FOO/にアクセスしたらhttps://FOOBAR.com/BAR/BAZ.html に跳ぶ


RewriteEngine on
RewriteRule ^FOO/$ https://FOOBAR.com/BAR/BAZ.html [R=301,L]

サブドメインからルートドメインへリダイレクト

https://sub.FOOBAR.com から https://FOOBAR.com に転送


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

サブドメインからルートドメインの特定ディレクトリへリダイレクト

https://sub.FOOBAR.com から https://FOOBAR.com/sub/ に転送


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

「SSL化( http ⇒ https )」に統一する

httpからのアクセスをhttpsへとまとめる


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

URLを「www」ありに統一

「FOOBAR.com(www.なし)」のURLを「www.FOOBAR.com(www.あり)」に転送する


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

URLを「www」なしに統一


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

URL末尾の「index.html」を「index.htmlなし」に統一する


RewriteEngine on
RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ https://FOOBAR.com/$1 [R=301,L]

アクセス制限、会員制サイトなど

別途手入力のパスワードファイル(.htpasswd)を用意する必要があるため、極小規模のメンバーサイトや、
皆が同じまたは数種類のID / PWを共有するサイトや、テストサーバなど向き。


AuthType Basic
AuthName “Input your ID and Password.”	#任意の認証名…半角英数字の方が良い。
AuthUserFile “/home/・・・・/.htpasswd”	#別途用意する.htpasswdファイルの場所。/homeから始まるフルパスで記述。
require valid-user						#アクセスを許可する条件。(ID&パスが合っている全員にアクセスを許可する)

例 : 
AuthType Basic
AuthName "Member Site"
AuthUserFile "/home/xxx/user/zzz/.htpasswd"
require valid-user

.htpasswd(ユーザー名とパスワードを記述したファイル)の中身
	暗号化されたユーザー名:暗号化されたパスワード
	暗号化されたユーザー名:暗号化されたパスワード

アクセス元IPアドレス制限(拒否)


	#すべてを許可し、拒否するIPを指定する
	order allow,deny
	allow from all
	deny from 111.222.111.222
	deny from 123.12.1.
	deny from example.ne.jp

アクセス元IPアドレス制限(許可)


#すべてを拒否し、許可するIPを指定する
order deny,allow
deny from all
allow from 111.222.111.222
allow from 123.12.1.
allow from example.ne.jp


TOP