htaccess

【htaccess】URLをindex.htmlありとなしを統一する

SEO対策として、例えば、https://takanix.com/index.html と https://takanix.com/ と分かれていると
アクセス数や検索順位などに影響しますし、リンクが分散しますので、ここはどちらかに統一した方がいいでしょう。

通常なら、「/」に統一すればいいと思う。index.htmlが続くとURLが長くなりますし。

.htaccessに以下の記述を追加すれば、統一ができます。

index.phpでも大丈夫です。赤文字の部分をindex.phpに変更して下さい。

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

カテゴリー:htaccess, Tips : コメント(0)

【htaccess】エラー時にファイルを表示する。

「.htaccess」で、「deny from all」の設定をしていた場合、アクセスできないと「Forbidden」とエラーメッセージが出ます。

特に、メンテナンス中など、「Forbidden」が出るとなんか嫌ですよね。

別ファイルを指定しておけば、そのファイルが表示されます。

ただ、「deny from all」を指定するとそのディレクトリにアクセスできませんので、別ドメインなど設定した方がいいかもしれないですね。
それか、そのドメインで行いたければ、ディレクトリを作りその中に「.htaccess」を作り、 「allow from all」にすればいいです。

指定例

ちなみにさくらサーバーの場合。

————————ここから————————

DirectoryIndex index.html index.htm index.php .ht

ErrorDocument 403 http://www.test.com/test/

order deny,allow

deny from all

allow from ○○○.○○○.○○○.○○○

————————ここまで————————

IPが○○○.○○○.○○○.○○○以外はアクセス不可。
アクセス不可の人は、 「http://www.test.com/test/」のファイルが表示される。

ちなみに、さくらサーバーの場合は、1行目の「DirectoryIndex index.html index.htm index.php .ht」を記述しないと、ディレクトリでアクセスするとリスト表示になるので、大注意!!

もし、「http://www.test.com/」 に「.htaccess」を置いたなら、以下は全てアクセス不可になります。
「http://www.test.com/test/」直下に「.htaccess」をおき、「allow from all」すればそのディレクトリはアクセスできます。

最後に、「allow from all」する記述は以下の通り

————————ここから————————

order deny,allow

allow from all

————————ここまで————————

ちなみにエラーの種類は、

Unauthorized(401) 認証失敗

Forbidden(403) アクセス権限なし

Not Found(404) ファイルが見つからない。

Internal Server Error(500) サーバーエラー。プログラムの記述ミス、htaccess設定ミスなど。

例

ErrorDocument 404 http://www.test.com/test/404.html

ErrorDocument 500 http://www.test.com/test/500.html

カテゴリー:htaccess, Tips : コメント(0)

【htaccess】よく使うhtaccess集

サーバーを設定する際に、僕がよく使っている「htaccess」を集めてみました。

ちなみに、使い方は、サーバー上でファイル名を「.htaccess」にする。
ファイル内に一行ずつ書いていきます。

【1】 IPアドレス制限

テストサイトなど自社のIPアドレスのみでアクセスしたい場合は。
「
order deny,allow
deny from all
allow from xxx.xxx.xx.xxx
」

特定のIPアドレスを拒否したい場合は。
「
order deny,allow
allow from all
deny from aaa.aaa.aa.aaa
」

追加で何個追加しても大丈夫。「」内を「htaccess」に入力してね。

「
order deny,allow
allow from all
deny from aaa.aaa.aa.aaa
deny from xxx.xxx.xx.xxx
」

IP制限は、エクスプロード・ラボでも提供中。

【2】index.html 以外をデフォルトファイルにする

「
DirectoryIndex index.html index.htm index.php
」

【3】サーバーによってディレクトリ内容一覧参照が出来てしまうのを非表示にする
DirectoryIndexに、.htを最後に付ける。
「
DirectoryIndex index.html .ht
」

【4】URLに「www」を必ず付けてアクセスするようにする。
「
RewriteEngine On
RewriteCond %{HTTP_HOST} ^test\.comRewriteRule (.*) http://www.test.com/$1 [R=301,L]
」
test\.comをwww\.test\.comに入れ替えて、http://www.test.com/をhttp://test.com/にすれば逆になる。

【5】PCと携帯振り分け
「
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^(DoCoMo|KDDI|DDIPOKET|UP.Browser|J-PHONE|Vodafone|SoftBank)
RewriteRule ^$ http://mobile.test.com/ [R]
」

【6】アップロード容量の変更
php.iniで変更するが、サーバーによって出来ない場合はhtaccessで。以下は50MBに設定。
「
php_value upload_max_filesize 50M
php_value post_max_size 50M
」

【7】携帯サイトをxhtmlで作った場合
下記TYPEを追加すれば、xhtmlモードでアクセスできる。
「
AddType application/xhtml+xml .html
」

【8】ベーシック認証
「
AuthType Basic
AuthName “Input your ID and Password.”
AuthUserFile /home/test.com/admin/.htpasswd
require valid-user
」

※Authentication for phpMyAdminは、画面上のメッセージです。
AuthUserFile /home/test.com/admin/.htpasswd で、「.htpasswd」のファイルを指定します。
/home/test.com/admin/は、ドキュメントルート。

.htpasswdは以下のような記述
「
cs112190399:5lfCZfYm0yQVU
」
複数人で行う場合、2行目、3行目と続ける。
パスワードはエンコードする。

パスワードのエンコードは、エクスプロード・ラボでも提供中。

カテゴリー:htaccess : コメント(0)