移管先の環境でトップページ以外のページが404になる

2016年9月12日 at 16:14

いつもお世話になっております。

テスト環境で作成したConcrete5をそのまま本番環境に移管するにあたり、以下の手順を実施したのですが、トップページは表示されるものの、その下のページをクリックすると404 NotFoundページが表示されてしまい、うまく動作できません。

何かポイント等わかれば教えて頂けないでしょうか。

■ 移管手順

① テストサイトのConcrete5をドキュメントルートから下すべてエクスポート
② MySQLのデータも同様にエクスポート
③ ①のDatabase.phpを編集し、本番環境用に設定
④ ①の/applocation/cacheの中身を削除
⑤ 本番環境のphp.iniに以下設定を実施

default_charset = UTF-8
mbstring.language = neutral
mbstring.internal_encoding = UTF-8

⑥ ①を本番環境にインポート
⑦ 本番環境の以下ディレクトリに書き込み権限を付与

application/files/
packages/
updates/
application/config/
sitemap.xml

⑧ DBを本番環境に作成し、②をインポート

■ 出力されているエラー

[Mon Sep 12 15:09:38 2016] [error] [client XXX.XXX.XXX.XXX] File does not exist: /(ドキュメントルート)/favicon.ico, referer:http://(本番環境URL)
[Mon Sep 12 15:09:38 2016] [error] [client XXX.XXX.XXX.XXX] File does not exist: /(ドキュメントルート)/login, referer:http://(本番環境URL)

■ 環境情報

Concrete5のバージョン:concrete5.7.5.6
phpのバージョン:php5.3.3 (テスト環境はphp5.6.19)

タグ:

Re: 移管先の環境でトップページ以外のページが404になる

2016年9月12日 at 16:42
.htaccessを移行していないならそれもアップするか、管理画面に入ってプリティURLを再度有効にする、で解消できます
 

Re: 移管先の環境でトップページ以外のページが404になる

2016年9月12日 at 16:44
あくまでも想像ですが、

前の環境の .htaccess ファイルが新環境にコピーされていないため、
mod_rewrite が動いていないため、404 になっている



Apache から nginx 、もしくは .htaccess が効かないサーバーに移動したので、mod_rewrite な設定は別の場所でする必要がある。

の2つのどちらかが原因ではないかと。

最初の原因だと簡単に解決します。
元と移動先のサーバーの .htaccess ファイルを確認してみてください。
それか、hissy の、プリティー URL のオンオフでも解決するかもです。(サーバーの書き込み権限も要確認)
 

Re: 移管先の環境でトップページ以外のページが404になる

2016年9月12日 at 17:29
ご返信ありがとうございます。

コメント頂いた内容を参考に以下手順で解決しました。

・ 本番環境の管理画面を確認⇒ログインできず確認できなかった
・ テスト環境の管理画面でプリティーURLの設定で以下が記述されていることを確認

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

・上記を本番環境の.htaccessに設定⇒これで解決しました。
 

Re: Re: 移管先の環境でトップページ以外のページが404になる

2016年9月12日 at 17:38
http://concrete5-japan.org/help/5-7/developer/installation/moving-a-site/

↑ これのトラブルシューティングの最後にも書かれていた点でしたね。お手数お掛けしました。