AWS系のサーバーからxserverにwordpressサイトを移転した時の話です。サイトの表示を確認したら、ページは表示できるのにファイルが読み込めない感じでした。
画像やCSS、jsなどが読み込めないようで検証ツールでみると500エラーになっていました。
サイトの移転は移転元のファイル丸ごとファイル転送しているので、すべてのファイルは共通です。
500エラーになって読み込めないファイルの場所には、.htaccessが置いてあって、そのファイルの中身には以下のように書かれていました。
php_flag engine off
php_flag engine offとは
The behaviour of the Apache PHP module is affected by settings in php.ini. Configuration settings from php.ini may be overridden by php_flag settings in the server configuration file or local .htaccess files.
Example #1 Turning off PHP parsing for a directory using .htaccess
php_flag engine off
php_flag engine offが書かれているとPHPの解析を停止するらしく、つまり、PHPが動かないようです。
画像ファイルやCSS、jsなどがなぜこの記述の影響で読み込めないのかわかりませんが、Xserverではこの記述があるとファイルが読み込めないようでした。
.htacesssからphp_flag engine offを消すと500エラーは無くなる
マルウェア対策などで、phpを実行する必要が無いディレクトリには意図的にphp_flag engine offを書いた.htaccessを置いてあるのだと思いますが、これだとサイトが表示できないので削除することに。
まとめ
AWS系のサーバーからの移転はクセ強めなので、プラグインも使えず、真面目にファイルの移転をすることが多くて、トラブルも多いです。
500エラーの場合は大抵、.htaccessが原因なので、ルート以外に.htaccessがあるはずですからそれを探して確認してみてください。