WPでindex.phpがリダイレクトされて困る

静的なページのサイトをWPに移行するときに、とりあえず今のサイトはそのままで同じディレクトリにWPインストールして制作を進めることってよくありますよね?

ユーザーからは基本的にhttp://example.com/index.tmlが見える。
制作のチェック時はhttp://example.com/index.phpにアクセスして表示を確認ってこと。

それをやろうとしたところ、どうしてもhttp://example.com/index.phpからhttp://example.com/にリダイレクトされてしまう。。

困った。

 

解決

.htaccessのチェック

.htaccessを確認してサイトURL統一のため(SEO対策)の▼コレ系の記述があったらコメントアウトしておく。

RewriteCond %{THE_REQUEST} ^.*/index.(html|php)
RewriteRule ^(.*)index.(html|php)$ http://%{HTTP_HOST}/$1 [R=301,L]

▼コメントアウトの方法は#を先頭につけるだけ。

# RewriteCond %{THE_REQUEST} ^.*/index.(html|php)
# RewriteRule ^(.*)index.(html|php)$ http://%{HTTP_HOST}/$1 [R=301,L]

 

wp-includes/canonical.phpの一部を変更

参考にしたページ⇒http://ja.forums.wordpress.org/topic/1112

「wpncludes」の中の「canonical.php」を開く。

▼WP3.8.1だと、342行目の1行をコメントアウト。

	// trailing /index.php
// 	$redirect['path'] = preg_replace('|/' . preg_quote( $wp_rewrite->index, '|' ) . '/*?$|', '/', $redirect['path']);

	// Remove trailing spaces from the path
	$redirect['path'] = preg_replace( '#(%20| )+$#', '', $redirect['path'] );

これで解決

 注意点

・WP3.7ぐらいから勝手にマイナーアップデートされるようになってるので、そのたびにやらなきゃダメです。
・オープンしてしまえば逆にURLが統一されるのでイイコトなので戻しておきます。

 

 

コメントを残す

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

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>