HTML,CSS,PHP,ワードプレスカスタマイズ 技術情報資料

WP パーマリンク リダイレクト インターナルサーバーエラー

WP パーマリンクのリダイレクトがインターナルサーバーエラーを起こすようになった。

ユーザーさんのサイトなので「なにをしたか」わからない。


WP パーマリンク リダイレクト インターナルサーバーエラーのいくつかの原因

いくつもないんですけどね(笑)
リダイレクトに失敗してるのが原因です。
デフォルトのパーマリンクにしてみて(?p=123 のタイプ)動くならリダイレクトが原因。


ただ、リダイレクトに失敗する原因の根幹は、いくつかに分かれます。
・データベース上のURL変換ルールが壊れた。
 これは、あまり可能性が少ないですが、どうしても原因がつかめないときには疑ってみるのもあり。
 
 ※パーマリンクの設定を切り替えて遊んでいるうちになおることもあります。

・htaccess のリダイレクトの記述が間違っている。
 基本となるワードプレスの .htaccess に置き換えてからひとつづつ動作確認をしながらやり直してみます。
 
 基本となる .htaccess は、以下の通り
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wp/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

・よくあるのが index.php の記述の凡ミス。
 ワードプレスをフォルダーの中にインストールして、ドメインのトップで表示させる場合、以下のような作業を行います。

 1、「設定」で「サイトアドレス (URL)」を「https://~/wp」のものを「https://~」にします。
 2、wp/ 内にある .htaccess と index.php を ダウンロードしてきます。
 3、index.php の以下の部分を「require( dirname( __FILE__ ) . ‘/wp/wp-blog-header.php’ );」に変更します。
  つまり、ワードプレスの本体のあるディレクトリを指定する形になります。
<?php
/**
 * Front to the WordPress application. This file doesn't do anything, but loads
 * wp-blog-header.php which does and tells WordPress to load the theme.
 *
 * @package WordPress
 */

/**
 * Tells WordPress to load the WordPress theme and output it.
 *
 * @var bool
 */
define('WP_USE_THEMES', true);

/** Loads the WordPress Environment and Template */
require( dirname( __FILE__ ) . '/wp-blog-header.php' );


こんな感じ。


<?php
/**
 * Front to the WordPress application. This file doesn't do anything, but loads
 * wp-blog-header.php which does and tells WordPress to load the theme.
 *
 * @package WordPress
 */

/**
 * Tells WordPress to load the WordPress theme and output it.
 *
 * @var bool
 */
define('WP_USE_THEMES', true);

/** Loads the WordPress Environment and Template */
require( dirname( __FILE__ ) . '/wp/wp-blog-header.php' );

このとき、ちゃんと /wp/ になっているか?!です。

ワードプレスをいくつか設定しているとここ間違うことがありますので要注意。


WP パーマリンク リダイレクト インターナルサーバーエラーまとめ

まずは、それぞれの設定を初期状態に戻します。
・「設定」の「サイトアドレス (URL)」をワードプレスのスクリプトのある場所に。
 ログインできない場合は、myphpadminをつかってデータベース内の option の中にある url を直接書き換えることで設定ミスを修正できます。
・.htaccess を元に戻す。
・index.php の内容をかくにんする。

この作業で9割型復旧させることができます。


スポンサーリンク

スポンサーリンク

カテゴリー