Page 1 of 2
Digg rejecting my blog URLs???
Posted: Thu Apr 24, 2008 11:54 pm
by psiege
Anyone know what would be causing the following message when I try and submit a link from my blog to Digg? This happens whether trying to submit from the plugin or directly to Digg.
The message I receive is:
This link does not appear to be a working link. Please check the URL and try again.
Anyone have a clue? The blog in question is
http://www.pcdoctor-community.com
Thanks in advance!
Posted: Fri Apr 25, 2008 12:00 am
by psiege
I have read elsewhere that the Bad Behavior plugin for Wordpress causes this problem for Wordpress blogs. Is there an equivalent in Serendipity? To be safe I removed both Spam Protectors from Serendipity, and I'm still experiencing the issue.
Posted: Fri Apr 25, 2008 10:53 am
by garvinhicking
Hi!
Your site sends a HTTP/404 header when opening a URL like:
http://www.pcdoctor-community.com/blog/ ... in-Brazil/
However, s9y's index.php always makes sure to send a HTTP/1.1 200 header for proper URLs. How did you enable s9y's URL rewriting? Apache Errorhandling or mod_rewrite? How does your .htaccess file look like? There must be some kind of error there.
Regards,
Garvin
Posted: Fri Apr 25, 2008 5:43 pm
by psiege
Hi Garvin!
I'm using the option "URL Rewriting" Under "Appearance and Options", and it's set to "Use Apache mod_rewrite".
Here is the .htaccess file
Code: Select all
# BEGIN s9y
ErrorDocument 404 /blog/index.php
DirectoryIndex /blog/index.php
RewriteEngine On
RewriteBase /blog/
RewriteRule ^((posts/[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[0-9a-z\.\_!;,\+\-\%]+/)/?) index.php?/$1 [NC,L,QSA]
RewriteRule ^(authors/([0-9]+)-[0-9a-z\.\_!;,\+\-\%]+) index.php?/$1 [NC,L,QSA]
RewriteRule ^(feeds/categories/([0-9;]+)-[0-9a-z\.\_!;,\+\-\%]+\.rss) index.php?/$1 [NC,L,QSA]
RewriteRule ^(feeds/authors/([0-9]+)-[0-9a-z\.\_!;,\+\-\%]+\.rss) index.php?/$1 [NC,L,QSA]
RewriteRule ^(categories/([0-9;]+)-[0-9a-z\.\_!;,\+\-\%]+) index.php?/$1 [NC,L,QSA]
RewriteRule ^archives([/A-Za-z0-9]+)\.html index.php?url=/archives/$1.html [NC,L,QSA]
RewriteRule ^([0-9]+)[_\-][0-9a-z_\-]*\.html index.php?url=$1-article.html [L,NC,QSA]
RewriteRule ^feeds/(.*) index.php?url=/feeds/$1 [L,QSA]
RewriteRule ^unsubscribe/(.*)/([0-9]+) index.php?url=/unsubscribe/$1/$2 [L,QSA]
RewriteRule ^approve/(.*)/(.*)/([0-9]+) index.php?url=approve/$1/$2/$3 [L,QSA]
RewriteRule ^delete/(.*)/(.*)/([0-9]+) index.php?url=delete/$1/$2/$3 [L,QSA]
RewriteRule ^(admin|entries)(/.+)? index.php?url=admin/ [L,QSA]
RewriteRule ^archive/? index.php?url=/archive [L,QSA]
RewriteRule ^(index|atom[0-9]*|rss|b2rss|b2rdf).(rss|rdf|rss2|xml) rss.php?file=$1&ext=$2
RewriteRule ^(plugin|plugin)/(.*) index.php?url=$1/$2 [L,QSA]
RewriteRule ^search/(.*) index.php?url=/search/$1 [L,QSA]
RewriteRule ^comments/(.*) index.php?url=/comments/$1 [L,QSA]
RewriteRule ^(serendipity\.css|serendipity_admin\.css) index.php?url=/$1 [L,QSA]
RewriteRule ^index\.(html?|php.+) index.php?url=index.html [L,QSA]
RewriteRule ^htmlarea/(.*) htmlarea/$1 [L,QSA]
RewriteRule (.*\.html?) index.php?url=/$1 [L,QSA]
<Files *.tpl.php>
deny from all
</Files>
<Files *.tpl>
deny from all
</Files>
<Files *.sql>
deny from all
</Files>
<Files *.inc.php>
deny from all
</Files>
<Files *.db>
deny from all
</Files>
# END s9y
Posted: Sat Apr 26, 2008 12:18 am
by garvinhicking
Hi!
Hm, that looks perfectly fine. Please check your s9y index.php, it should contain this:
maybe you can alter this to:
Code: Select all
header('HTTP/1.0 200');
header('X-Stat-200: true');
and saveyour file. Then I can check your URL again and see ifatleast the X-stat-200 header is sent. If it is, and itstill shows HTTP 404 error, that means the first line doesn't work on your server.
Who is your provider? Areyou using apache or IIS? Maybe it works if you cahnge it to "HTTP/1.1 200 OK" or "HTTP/1.0 200 OK". Maybe even your server disallows that this flag is sent, but I wouldn'T know why it gets setto HTTP 404...doesn't happen on all the servers I have access to...
Regards,
Garvin
Posted: Mon May 05, 2008 6:51 pm
by psiege
Thanks for the help Garvin. Sorry I didn't get back sooner, I was on vacation!
I've added the new header line as you requested. You can now check the URL again.
My hosting provider is iPower and it's on Apache.
I tried "HTTP/1.1 200 OK" and "HTTP/1.0 200 OK" with no luck.
Let me know if the X-stat-200 header is sent and if you have any other suggestions.
Thanks!
Posted: Tue May 06, 2008 10:44 am
by garvinhicking
Hi!
The X-Stat-200 header is emitted - but the '404 header' remains. I wouldn't know why this is, it seems specific to your setup. Can you please ask your server provider why the PHP script is not able to set the HTTP 200 header?
That you get a 404 header indicates that your Apache is using the "Apache Errorhandling" fallback, and not Mod-Rewrite (this would give you a HTTP 200 header). So maybe if your provider can enable mod_rewrite, this might get rid of the 404 error.
Another idea: Please check the index.php for occurences of "404" and replace those with "200". This is to eradicate the possibility that because of some plugin s9y is jumping to the "no page found" view, but I don't think this happens...
Regards
Garvin
Posted: Tue May 06, 2008 7:26 pm
by psiege
Hi!
I tried changing all occurrences of 404 to 200, but still no luck. I'm working with my hosting provider now.
This was their initial response:
We apologize for any inconvenience this has caused you. We allow Mod-Rewrite only using .htaacess. In order to further investigate on your issue, please provide us with exact URL of the page where you have experiencing the issue and steps to replicate the issue so that we will assist you further.
Please update the Support Console with the requested information, so that we can assist you further.
I've provided the additional information and now waiting to hear back. I sure hope I can fix this problem.
Posted: Tue May 06, 2008 9:34 pm
by garvinhicking
Hi!
Check your .htaccess file, if you set s9y URL Rewriting to "mod_rewrite" it should contain all the required Rewriterules!
HTH,
Garvin
Posted: Tue May 06, 2008 9:53 pm
by psiege
I previously attached the entire .htaccess file. You said it looked fine. I'm sure the host is doing something wrong here. I'm still working with them to figure this out.
Posted: Wed May 07, 2008 8:13 am
by garvinhicking
Hi!
ah, uh, stupid me. Was too tired yesterday.
Maybe they can enable the RewriteLog and RewriteLogLevel9 to see what's happening?
Regards,
Garvin
Posted: Wed May 14, 2008 7:52 pm
by psiege
Finally, after a week, I get the following reply:
Hello,
Thank you for contacting us.
I apologize for the inconvenience caused for you. I have checked issue and Found that you are using Rewrite Rule in .htaccess file to redirect the URL and for post values and it seems that Mozilla is not recognizing those .htaccess redirects and assumes that file is missing so it returns 404 headers.
If you have any further questions, please update the Support Console.
Regards,
Technical Specialist
Huh??? Where the heck to I go from here.
Posted: Wed May 14, 2008 8:26 pm
by psiege
I just noticed something else, the 404 ONLY occurs on post pages. It doesn't occur anywhere else, not archives, authors, no where. Ugh.
Posted: Wed May 14, 2008 8:29 pm
by judebert
Don't you just wish the Support Console had a button for "Received Reply Full of Sound and Fury, Signifying Nothing"?
The answer is grammatically incorrect, which is especially bad because it's capable of multiple interpretations. Not to be the Grammar Guy or anything, but you really needed something more concrete and specific.
I'd reopen the issue in Support Console, providing an example that was as specific as possible. In fact, if you could make a smaller sample PHP script that still exhibited the same problem, you would get a reply that was as specific as possible.
If I'm reading this topic correctly, the example script could be:
Code: Select all
<?php
header('HTTP/1.0 200');
?>
<html><head><title>Sample Header Problem</title></head>
<body>
<p>This script provides a simple example of the header being set to 404 even when the file is found.</p>
<p>This script was accessed through the URL:<br />
<?php
print htmlspecialchars($_SERVER['REQUEST_URI']);
?>
</p>
</body>
</html>
Save that in a directory called "/example/" as "header_problem.php".
Then create this .htaccess in the /example/ directory:
Code: Select all
ErrorDocument 404 /example/header_problem.php
DirectoryIndex /example/header_problem.php
RewriteEngine On
RewriteBase /example/
RewriteRule ^/(.*) header_problem.php?url=/$1 [L,QSA]
Now whenever you access ANYTHING in the /example/ directory, it'll execute the sample script. You can examine the headers for a 404, and provide the data (with a simple, working example) to your Support personnel.
Posted: Tue Jun 10, 2008 5:35 pm
by psiege
Hi all,
Sorry for the long delay on this post. Here was my last and final response from iPower:
We apologize for any inconvenience this may have caused you. The issue is not with the server, it is the problem with the blog that you installed for your account as it is not configured properly. The main page is coming up fine with the 200 Ok message, only the issue is with the page at
http://www.pcdoctor-community.com/blog/ ... rity-Work/ . Hence we suggest you to check the configuration settings once again from your end and correct it.
I'm starting to agree with them. This issue only occurs for the full posts. It doesn't occur anywhere else, not even other directories that use rewriting rules. The only directory that's affected is /posts/. The /authors/ or /categories/ directories all work fine.