サポート » 使い方全般 » ローカルディレクトリから本番への移行で500エラー

  • 解決済 kashiwa

    (@kashiwa)


    こんにちは、下位ディレクトリ /new2023にインストールしていて正常に動いていたwordpressを公開しようとして / 直下で表示されるようトライしていますが、500エラーが出て、うまく行きません。

    やったこと
    1. wordpressの管理画面
    1) 設定→一般で、サイトアドレスを
    https://www.example.com/new2023 から
    https://www.example.com 変更
    2) 設定→パーマリンクで何もせず、保存

    2. /new2023 下にあった、index.phpと.haccess を / にコピー

    3. /に移行した、index.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 DIR . ‘/new2023/wp-blog-header.php’;

    4. 同様に.htaccessを下記に書き換え

    BEGIN WordPress The directives (lines) between “BEGIN WordPress” and “END WordPress” are dynamically generated, and should only be modified via WordPress filters. Any changes to the directives between these markers will be overwritten.

    RewriteEngine On RewriteRule .* – [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / RewriteRule ^index.php$ – [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] END WordPress

    5. /直下の、index.htmlとindex.htm をリネーム

    以上の状態で、https://www.example.com で、500エラーが出ます。

    Internal Server Error

    The server encountered an internal error or misconfiguration and was unable to complete your request.

    Please contact the server administrator.

    この状態で、固定ページや投稿のURLを直打ちする (https://www.example.com/aboutus など)とそのページは正常表示されます。

    いろいろなサイトを見て、試したのですが、どうにもうまく行かず、お助けいただけませんでしょうか?

    PHPは、8.1
    WordPressは、6.3.2
    テーマは、Astra
    サーバーは、GMOの、iCLUSTA PRO
    です。

    何卒、よろしくお願いします

10件の返信を表示中 - 1 - 10件目 (全10件中)
  • index.phpの書き換えを以下のように変更してみたらどうでしょうか?

    require( dirname( FILE ) . ‘/new2023/wp-blog-header.php’ );

    参考サイト
    https://ja.wordpress.org/support/article/giving-wordpress-its-own-directory/#%e6%96%b9%e6%b3%952-url-%e3%82%92%e5%a4%89%e6%9b%b4%e3%81%99%e3%82%8b

    トピック投稿者 kashiwa

    (@kashiwa)

    早速のご返信ありがとうございます。

    残念ながら、ご教示いただいた方法や参照サイトに記載の方法で試しても状況は変わらず500エラーのままでした。
    require( dirname( FILE ) . ‘/new2023/wp-blog-header.php’ );
    require( dirname( __FILE__ ) . ‘/new2023/wp-blog-header.php’ );

    トピック投稿者 kashiwa

    (@kashiwa)

    さらに色々調べました。
    その結果、設定→表示設定でホームページに指定されたページのみ、500エラーになるようです。
    別の固定ページをホームページに指定するとそのページが表示されなくなります。
    それ以外のページは、URLを直打ちすると表示され、表示されたページのメニューからクリックしてもアクセスできます。
    逆に、ホームページに指定した固定ページはメニューからアクセスしても500エラーです。

    つまり、起きている現象は、下位ディレクトリで構築していたwordpressを/直下で公開しようと手順を踏んだが、「wordpressのホームページに指定したページのみ500エラーになってしまう」ということです。

    どこを調べるべきでしょうか?

    .htaccessファイルの記述をもう一度ご確認いただいた方が良いかもしれません。
    改行やスペルミスなどありませんか?

    トピック投稿者 kashiwa

    (@kashiwa)

    そうですよね、.htaccessが怪しそうですね。
    wordpressで生成された、/new2023/.htaccess をコピーし、/new2023 を削除しただけのを / に置いて、何度も見直しているのですが、間違いはなさそうです。
    拡張子を.txtにしたのをここに貼っておきます

    @kashiwa さん、こんにちは。

    現象が分からない時には「切り分け」を行うのが適切です。

    まず、元の.htaccessをコピーして触らずにアクセスした場合の動作はいかがでしょうか。同様に 500 エラーなのか他の動作を見せるのか。

    もしコピーした直後には 500 エラーにならず、編集後に 500 エラーになる場合、十中八九.htaccessの編集方法に問題があります。編集には何を利用されておりますでしょうか、保存時に BOM が付与されたりしていませんでしょうか、文字コードが変更されたりしていませんでしょうか。

    どのタイミングでエラーが発生するのかを確認していくと切り分けになると思います。

    ご参考になれば。

    トピック投稿者 kashiwa

    (@kashiwa)

    ご助言、ありがとうございます。
    コピーして触らずにアクセスした場合の動作も同様に 500 エラーでした。

    試しに、別ディレクトリに新たにwordpressをインストールして試しましたが、同じく500エラーになります。
    なかなか状況改善せず、サーバー会社のサポートとやり取り中です。

    サーバー上の設定やDBになにか問題があるのかもしれません。
    解決しましたら報告します。

    念の為ご確認いただきたいのですが、.htaccess ファイルのパーミッションが644に設定されていますか?

    https://ja.wordpress.org/support/article/changing-file-permissions/#htaccess-permissions

    トピック投稿者 kashiwa

    (@kashiwa)

    ご返信ありがとうございます。

    はい、644です。

    トピック投稿者 kashiwa

    (@kashiwa)

    解決し、目的のセッティングができました。

    経緯としては、
    1)サーバーのサポートともやり取りしましたが、原因特定できませんでした。
    2)表示させたいwordpress以外のファイルとディレクトリの全てを、退避ディレクトリを作ってそこに移動し、/直下には、表示させたいwordpressと退避ディレクトリ以外ない状態にしました。
    3)その上で、「WordPressのドメイン直下表示への変更」を、色々なサイトに出ている通りに実施(設定→サイトURL変更、index.phpと.htaccessの変更や設定)したところ、うまく動作しました。

    結局、根本的な原因は特定できませんでした。
    もともと、htmlとphpで構成されていたWEBサイト(CMSではない)に新たにwordpressを導入したので、htmlファイルとphpファイルが/直下に複数ありました。 考えいにくのですが、それらが何か悪さをしたのかも知れません。

    みなさま、サポートありがとうございました!

10件の返信を表示中 - 1 - 10件目 (全10件中)
  • このトピックに返信するにはログインが必要です。