■ユーザーズフォーラム リニューアルのお知らせ
新規投稿は新ユーザーズフォーラムにお願いします。

ページは表示されるのに HTTPステータスが404 Not Found

tecking > ページは表示されるのに HTTPステータスが404 Not Found @ 2013/8/15 18:24
……という不思議な現象に悩まされています。しかも、トップページだけが404を返すという状況です。
Facebookのデバッガーを使っていてたまたま判明した現象なのですが、同じような状況に遭遇した方はいらっしゃいますでしょうか?

■ BaserCMSのバージョン:2.1.1
■ レンタルサーバー名:さくらVPS
■ スマートURLの利用:ON
■ 設置フォルダ:サブフォルダ
■ PHPスキル(自己評価):C

■ OSの種類:ubuntu 10.04LTS
■ PHPのバージョン:5.3.20
■ データベース種類・バージョン:MySQL 5.1
goichi > Re: ページは表示されるのに HTTPステータスが404 Not Found @ 2013/8/15 22:10
うーん、何ででしょうね・・・・。
私が管理しているbaserCMSのサイトを幾つか調べてみましたが、ちゃんと200を返してきました。

ステータスコードが404なのに、ページ自体が表示されているというのも不思議な感じですが・・・。
VPSをお使いなので、もしかしたらサブドメインを設定する際のバーチャルホストとか、
そのあたりの設定なのかなーと。。。
そうでなければ、.htaccessとかも怪しいかも知れません。。。

ちょっと、あまり詳しくないのですが、
参考までに回答しておきます。m(__)m
tecking > Re: ページは表示されるのに HTTPステータスが404 Not Found @ 2013/8/17 10:19
goichiさん

レス&情報ありがとうございます :)
トライ&エラーしながら引き続き調査中です。

で、いくつか判明したことを報告しますね。

●テーマを『スケルトン』に変えても、トップページのみ404を返してくる
●app/webroot/index.php の中身を入れ替える(echo 'hello world' とだけ書いた)と、200を返してくる(hello worldも表示された)
●テーマディレクトリ内の layouts/default.php に $bcBaser->isHome() で条件分岐している箇所があり、それについては正常に機能している
●トップページでは $bcBaser->contentsName() が「Error」という文字列で出力される
●デバッグモード1で動作させたところ、トップページのみ、白い背景で下記URLに示すメッセージが出てきた
https://gist.github.com/tecking/d68e9766c93e14064ae5

ちなみに問題になっているサイトは example.com にサブドメインを設定し(foo.example.com)、
Apacheの設定ファイルでドキュメントルートを /home/foo/www/bar と指定
baserCMS関連のディレクトリ・ファイルは /home/foo/www/bar 以下に配置、という環境になっています。

ページ自体は表示されるのでとりあえず実害はないんですが、検索エンジン対策という意味では早めに解消したいところです……引き続き、空いてる時間に調査していくことにします。
goichi > Re: ページは表示されるのに HTTPステータスが404 Not Found @ 2013/8/17 10:49
どうもです(^^
引用:
Warning (512): エレメントテンプレートの拡張子 .ctp は非推奨です。.php を利用してください。

一部のエレメントが旧仕様になっていませんでしょうか?
その部分を読み込むことが出来ず、その時点でHTTPステータスは404となっているのではないかと思います。
拡張子ctpは、CakePHPのテンプレート拡張子ですが、baserCMSでは2.x以降はもちいていません。
どのエレメントが問題を引き起こしているか分かりませんが、
もしかしたらファイル内も非推奨の関数とかあるかもしれませんね・・・。


tecking > Re: ページは表示されるのに HTTPステータスが404 Not Found @ 2013/8/17 13:56
goichiさん

ご協力ありがとうございます。ようやく判明しました!
デバッグモード時のエラーメッセージに出てきた

引用:
connection_manager.php on line 263


でググったところ、baserCMSフォーラムの過去ログ

2.0インストール完了しましたが、トップページが表示されません|フォーラム|baserCMSユーザーズ
http://forum.basercms.net/modules/newbb/viewtopic.php?viewmode=flat&topic_id=605&forum=2

にヒントがありました。
簡潔にいいますと app/webroot/themed/hoge/pages 内に index.php がなかったのが原因でした。

baserCMS管理画面の[新規固定ページ登録]より

●ページ名……index
●タイトル……(なし)
●本文……なし

のページを作ったところ app/webroot/themed/hoge/pages 内に index.php ができステータスも200を返すようになりました。
(トップページのコンテンツはテンプレートにべた書きなので、今回の場合本文なしでオッケイなのでした)

#トップページも[新規固定ページ登録]で作っておく、というのはbaserCMSのお作法なんでしょうか?
#マニュアルを見たところ、そういう記述が見あたらなかったもので(見落としてる……?)
ログイン
ユーザー名:
パスワード:


  新規登録 / パスワード紛失

検索

facebook
フォーラムで悩みが解決した場合など、よかったら「いいね!」をポチっとクリックしてください!質問の回答者や開発者の励みになります

フォーラムガイド


関連リンク

オンライン状況
26 人のユーザが現在オンラインです。 (25 人のユーザが フォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 26