Napaka 404 pri googlu

Pozdravljeni,

preko nadzorne plošče ( webmaster tools --> napake pri iskanju po vsebini ) mi pri določenih straneh, ki ne obstajajo javi napako - kar je napisano v spodnjem tekstu. Vendar imam v .htaccess nastavljeno za napako 404 in preosmerjeno na eno drugo stran. Ali ima mogoče kdo kakšen predlog? Hvala

Zadnje iskanje po vsebini: 8.10.2013
Prva zaznana: 8.10.2013

Ciljni URL ne obstaja in strežnik ne vrne napake 404 (»Datoteke ni mogoče najti«). Več informacij.

Your server is redirecting requests for a non-existent page, instead of returning a 404 response code. This creates a poor experience for searchers and search engines.
More information about "soft 404" errors

5 odgovorov

Ni čisto jasno kaj tukaj sprašuješ. Google ti pravi, da imaš namesto da bi pokazal stran 404, preusmerjeno na drugo obstoječo (200) stran. Zdaj ali ti tvoja 404, na katero imaš redirectano v resnici javi server status 200, ali pa je kaj drugega, kar ne razumem da sprašuješ.

Pomeni, da imaš v htaccess verjetno narobe nastavljeno preusmeritev, če prav razumem tvojo težavo? Ali pa je preusmeritev pravilna pa tam ni ničesar? Zato 404.

V .htaccess imam napisano tako:

Options +Indexes
RewriteBase /
Options +FollowSymLinks
RewriteEngine on

#SPREMINJANJE DOMEN IN PODDOMEN
RewriteCond %{HTTP_HOST} ^domena.net$ [NC]
RewriteRule ^(.*)$ http://www.domena.net/$1 [R=301,L]

RewriteRule (.*).htm$ info_p.php?file=$1

#Za izključitev htm končnice
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteRule ^([^.]+)$ $1.htm [NC,L]

#ČE STRAN NE OBSTAJA, DODAJ KONČNICO .htm
<IfModule mod_rewrite.c>

RewriteCond %{REQUESTFILENAME} !-f
RewriteCond %{REQUEST
FILENAME} !-d
RewriteRule ^([^.]+)$ $1.htm [R=301,L]

</IfModule>

<IfModule mod_rewrite.c>
RewriteEngine On
ErrorDocument 404 http://www.domena.net/error/404.html
</IfModule>

#KONEC .HTACCESS

Spletna stran 404.html imam na serverju. Ko pride do napake ( ko datoteke ni na serverju ) se mi avtomatično preosmeri na to domeno, kar je vredu. Ne razumem pa zakaj mi google javi napako. Ali je potrebno tudi na serverju nastaviti ( posebaj ) ali je dovolj samo .htaccess? Ali se da mogoče preveriti, katera preosmeritev se zgodi?

Kolkor vidim po tej konfiguraciji strežnik še vedno odvrne 404. Dejansko si spremenil le prikazno datoteko za 404. Strežnik pa še vedno odvrne header 404 not found.

Sam se nikoli nisem igral z error dokumenti ampak vem da tale zadeva ne spremeni same glave dokumenta.

Hm ali je potem potrebno dodati na stran še naslednjo kodo ( to sem našel z googlom ).

if (strstr($SERVER['REQUESTURI'],'.htaccess')){
header('HTTP/1.0 404 Not Found');
exit();
}