URLの正規化 ~htmlとphpを/に~ さくらインターネットでwordpress

 

今作成しているWEBサイトをSEOチェックツールをかけていたら、URLの正規化でエラーがでました。

 

要は、 http://hogehoge.com っていうWEBサイトにしているつもりだけど、
http://hogehoge.com/index.html ってURLを入れても、
http://hogehoge.com/index.php ってURLを入れても、TOPページ(またはエラー)が表示されちゃうよってことのようです。

 

これは、重複コンテンツとしてみなされてしまって、SEOの効果を下げてしまう可能性があるので対策をしていこうと思います。

 

ひっかかたのは、さくらインターネットではURLの正規化で一般的に記述する「Options +FollowSymLinks」が使えないっていうことです。
ずっとエラー(500 – Internal Server Error) で困ってましたがやっと解決しました。

 

 

やりたい事は

URLに、http://hogehoge.com/index.html または http://hogehoge.com/index.php って入れても、”http://hogehoge.com”にリダイレクトされること です

対象ファイル

.htaccess

ファイルのある場所

home
∟ドメイン
∟www   ←ここにあります

※さくらインターネットで、素直にインストールしたので、その場合です。

編集前の .htaccess

 

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>


wordpress パーマリンク設定

↑書かれている内容は、事前にパーマリンクの設定をカスタム構造にしていたため、左図の部分が.htaccessに追加されています。記載されているのはそれだけで、他に設定はしていません。

 

 

 

 

 

編集後の.htaccess

赤字部分を今回の目的のために追加
調べている最中に見つけたのでも追加

# index.html, index.phpは/にリダイレクト
RewriteCond %{THE_REQUEST} ^.*/index.(html|php)
RewriteRule ^(.*)index.(html|php)$ http://%{HTTP_HOST}/$1 [R=301,L]# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule># END WordPress

 

 

青を追加した理由です。前出のパーマリンク設定のように自動で .htaccessに加筆してくれるようなのですが、
自分が追記した(今回でいうと赤字)部分を上書きしちゃったりすることもあるようなのです。
なので、自分で追記する場合は、# BEGIN WordPress~# END WordPressの範囲外にする方がいい。。。
ん?私のそもそも# BEGIN WordPressがないなぁと思って今回追記しました。

 

 

One thought on “URLの正規化 ~htmlとphpを/に~ さくらインターネットでwordpress

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です