In posting a comment to a friend’s WordPress blog, it came up with the error:
Error: This file cannot be used on its own.
I was responding to a comment, so I doubted that he broke his blog between making a comment and my response. So I went looking though my own install. Essentially, at a shell I used
find . -exec grep -l "This file cannot be used on its own." {} \;
to locate the file involved is wp-comments-popup.php. This file contains code which checks for the HTTP_REFERER variable has specific values equal to the path and file name for the comments page. If this is not the case, then it should throw this error. The file mentioned in the error is wp-comments.php.
Its seems that I had configured my web browser not to pass the HTTP referrer to web servers, so the check failed and threw this error.
Maybe the WordPress developer who designed this has no idea about the ability of web browsers not to send a referrer. Searching for the error on the WP site yielded nothing. From the tons of comments about people hitting this error, lots of people turn off sending referrers.
Solution for those leaving comments: If you attempt to leave a comment and see this error, then enable referrers. WordPress actually has a decent article on enabling HTTP referrers for a number of different pieces of software.
More friendly error for WP blog owners: Edit wp-comments-popup.php. Change
die (‘Error: This file cannot be used on its own.’);
to
die (‘Learn how to <a href=”http://codex.wordpress.org/Enable_Sending_Referrers”>enable HTTP referrers</a> to fix this. ‘);
Leave a Reply