Digg rejecting my blog URLs???

Random stuff about serendipity. Discussion, Questions, Paraphernalia.
psiege
Regular
Posts: 52
Joined: Thu Mar 27, 2008 4:21 pm

Digg rejecting my blog URLs???

Post 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!
psiege
Regular
Posts: 52
Joined: Thu Mar 27, 2008 4:21 pm

Post 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.
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Post 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
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
psiege
Regular
Posts: 52
Joined: Thu Mar 27, 2008 4:21 pm

Post 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
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Post by garvinhicking »

Hi!

Hm, that looks perfectly fine. Please check your s9y index.php, it should contain this:

Code: Select all

header('HTTP/1.0 200');
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
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
psiege
Regular
Posts: 52
Joined: Thu Mar 27, 2008 4:21 pm

Post 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!
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Post 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
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
psiege
Regular
Posts: 52
Joined: Thu Mar 27, 2008 4:21 pm

Post 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.
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Post 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
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
psiege
Regular
Posts: 52
Joined: Thu Mar 27, 2008 4:21 pm

Post 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.
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Post 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
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
psiege
Regular
Posts: 52
Joined: Thu Mar 27, 2008 4:21 pm

Post 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.
psiege
Regular
Posts: 52
Joined: Thu Mar 27, 2008 4:21 pm

Post 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.
judebert
Regular
Posts: 2478
Joined: Sat Oct 15, 2005 6:57 am
Location: Orlando, FL
Contact:

Post 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.
Judebert
---
Website | Wishlist | PayPal
psiege
Regular
Posts: 52
Joined: Thu Mar 27, 2008 4:21 pm

Post 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.
Post Reply