Comments are working again on the blog after nearly a month without them. While I don’t relish the need once again to have to filter through automated spam comments (joy), it is a relief to have everything working again for the real people out there.
In case the solution is useful to anyone else running Movable Type on their blog, here is the fix that worked here at WorldTV to solve the No entry_id error. It was an annoying problem to solve but in the end pretty easy to do.
A month ago we switched our URL format on the WorldTV site using .htaccess rules so that instead of www.worldtv.com URL’s we now use worldtv.com (without the www) . If this sounds like something you have done on your site recently, the following fix will almost certainly help you.
Athough the old URL addresses redirect to the new format (so blog postings appear fine), the submit comments form uses a POST method which doesn’t seem to like the redirect.
If you look at the source code for a blog page with a comments form on it, you can see the address it is trying to POST the comments form to. In our case it was http://www.worldtv.com/cgi-bin/mt/mt-comments.cgi. Also within that form are a couple of hidden attributes including the famous ‘entry_id’ value, which refers to the blog entry you are trying to comment on.
I suspect that although the POST works at one level with the redirect (the comments ‘results’ page appears in your browser) the hidden attributes don’t get passed through following the redirect, hence the no entry_id error.
The fix is to change the CGI path in your mt-config.cgi file, which is located in your cgi-bin/mt folder, to match the new URL structure and then (importantly) rebuild your site pages.
In our case we changed our CGI path to http://worldtv.com/cgi-bin/mt/ and did a full site rebuild from within the Movable Type control panel. After we had done this we were able to view the source of the blog pages and confirm that the POST address correctly showed as http://worldtv.com/cgi-bin/mt/mt-comments.cgi. Fortunately doing this didn’t introduce any new errors and everything is working swimmingly.
Movable Type’s website was not very helpful on this issue and merely refers to another potential cause for the no entry_id error, involving the Berkeley database which I don’t think most people use.
Sure enough the comments are now working, so please comment if this helps you!