コメント投稿で「エントリーIDが見つかりません」と表示される不具合について
Movable Type のエントリー・アーカイブからのコメント確認およびコメント投稿で、下記のような「エントリーIDが見つかりません」というエラーが表示されるケースがあります。
この問題は、mt-config.cgi の CGIPathと、管理画面で設定する「サイトURL」のドメインが異なっている場合にこの現象が発生する可能性があり、XREAでの運用で独自ドメインを取得した後、「サイトURL」だけに独自ドメインを設定をしたケースが該当します。
この場合、CGIPath はXREAドメインのままです。この状態でコメント投稿を実行すると、コメント投稿用CGI mt-comments.cgi のURLには CGIPath、つまりXREAドメインが使用され、その後XREAドメインから独自ドメインへのリダイレクトが発生します。このリダイレクトで mt-comments.cgi の query として付与されたエントリーIDが欠落してしまい、実際に Movable Type で処理される時には「エントリーIDが見つからない」という状態になってしまうようです(後述の参考サイトより一部引用)。
「エントリーIDが見つかりません」で google 検索しても情報は少ないようですが、バージョン 3.2 以前は「No entry_id」というエラーが表示されており、下記のサイトに情報がありました。
- Movable Type 4989:MovableType 3.2 日本語版 StyleCatcher plugin のインストール方法のコメント欄
- XREA SUPPORT BOARD:Movable Typeの設置についての質問
- MovableType設定変更履歴:XREAで後から独自ドメインにする場合の注意
実は、昨日エントリーした検索結果画面で検索文字列が文字化けする不具合を解消すると全く同じ原因で、CGIPath のドメインを、サイトURLのドメイン、つまり取得した独自ドメインと一致させることで解消します。
具体的には、mt-config.cgi の CGIPath に記述しているURLのドメインを、管理メニューの「設定」→「公開」→「サイトURL」に記述されているドメインに修正します。ただし mt.cgi と index.html が異なるディレクトリの場合、mt.cgi までのパスをドメインの後ろに設定する必要がありますのでご注意ください。
修正が完了したら mt-config.cgi を元のディレクトリにアップロードし、エントリー・アーカイブを再構築してください。再構築しないとエントリー・アーカイブに記述されているコメント投稿用CGI mt-comments.cgi のURL が新しい URL に書き変わりません。
余談ですが、検索結果画面で検索文字列が文字化けする不具合を解消するで質問を頂いた当初、原因が全く分からず、情報に至りそうな検索文字列を片っ端から google に打ち込んでも1件もヒットしませんでした(笑)。
そんな訳で半ば諦めていたのですが、ふとその方のサイトでコメントを投稿(確認)してみると「エントリーIDが見つかりません」というエラーが発生しました。それをきっかけに上記の情報にたどり着き、検索実行用URL(これも CGIPath を使用しています)のドメインを独自ドメインに書き換えて実行したところ正常に表示され、無事解決に至ったという訳です。
つまり、本エントリーの不具合を解消することで検索結果画面の不具合も解消してしまうため、検索結果画面の問題がネットで話題にあがることがなかったのではないかと推測します。
2006.07.01 追記
mt-config.cgi 修正後のエントリー・アーカイブの再構築について追記しました。
- MovableTypeプラグインの独自CGIをNginxに対応させる方法
- Movable Type 5で「Got an error: Can't use 'defined(%hash)' (Maybe you should just omit the defined()?)」というエラーになる場合の対処
- 旧バージョンのMTでPerl5.26(Perl5.24以降)に対応する方法
- MT6.2のファイルアップロードで「Undefined subroutine &POSIX::strftime」になる問題の対処
- Movable Typeのファイルアップロードで「アップロードしたファイルは大きすぎます。」というエラーになる場合の対処
- Movable Typeのパスワード変更で「URLが不正です。」というエラーなる件についての対処
- Movable Typeで「Cannot find column 'blogs' for class 'MT::Blog'」となる場合の対処
- Movable TypeでMTPageNextタグが効かなくなる不具合について
- Movable Typeの復元で「Request-URI Too Large」になるときの対処
- サーバ故障と「Connection error: Too many connections」エラーおよびMySQLテーブル破損について
- Movable Typeでエラー発生箇所を特定する方法
- IE9でMovable Typeを利用する方法
- MTIfタグにtagモディファイアを利用する場合の注意事項
- Movable Type 5のブログの設定で「Can't call method "label" on unblessed reference」が発生する問題について
- Movable Type 5.03へのアップグレードで再構築時に「Script Error」が発生する件について(つづき)
≫ エントリーIDが見つかりません from M's_Bar
友人の指摘により下記トラブルに気づきました。 エントリーIDが見つかりません 何... [続きを読む]
≫ コメント書き込めるようになったぜ from 仮)芳田BLOG.
コメントを書き込もうとしたところ、「エントリーIDが見つかりません」というエラー... [続きを読む]
≫ コメント書き込めるようになったぜ from 仮)芳田BLOG.
コメントを書き込もうとしたところ、「エントリーIDが見つかりません」というエラー... [続きを読む]
≫ もみあり from original intention
訪問者の皆さん このタイトルは もみぃちゃん ありがっとぅ?♪ヾ(・ω・*)ノ ... [続きを読む]
≫ コメントができなかったようです。 from キベジュンイチロウのサイト
今まで全くもって気がついてなく、 先輩からのメールにて気がついたのですが、 「エ... [続きを読む]
初めまして!
自分のMTを友人に見てもらい
コメントできないよ!
と連絡もらいましたが
対策が解らず
ず?っとそのまま
ほったらかしていました。
自分でコメント投稿しても
エントリーIDが見つかりません
が出て 再インストールなんか
やってられないので
なんとかしなくては!
と、探していたところ
こちらのサイトにたどり着きました。
config.cgiの28行目を書き直して
も治らない!と思っていたら
再構築していませんでした。
パス書き直してアップロードしただけでは
ダメな事に気がつきました。
おかげさまで
コメントちゃんとできるように
なりました。
ありがとうございます!
>hironoriさん
こんばんは。
記事参照&コメントありがとうございました。
再構築については記述が不足してましたので追記致しました。情報ありがとうございます。
ではでは!
こんにちは。
いつも参考にさせていただいております。
私も同じ「エントリーIDが見つかりません」の状態になってしまい、いつも通りこちらにたどり着き、参考にさせていただきました。
有用な情報をありがとうございますm(_ _)m
>a-chiさん
こんにちは。
コメントありがとうございます。
エラー系の記事はエラーメッセージをタイトルにしていることが多いので、ヒットしやすいかと思います(笑)。
ではでは!
こんにちは。
私もyujiroさまにならって、coreserverにサーバーを引っ越しました。
しかしコメントを投稿しようとするとIDエラーが!
ググったらyujiroさまのブログがヒットしました。
mt-configのCGIパスが、テスト時の独自ドメインではない方になっていました。
これを独自ドメインに変更したら直りました。
いつも有り難うございます。感謝しています。
>モカさん
こんばんは。
コメントありがとうございます。
お役に立てたようでよかったです。
ではでは!