Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

Mod_rewrite | 302 | Google

Johnny321
4 antwoorden
  • Hallo,

    Ik heb een probleem waar ik totaal niet uitkom. Wat is het geval.
    Ik heb een site draaien, waarbij de urls verwerkt worden door de module mod_rewrite. Dit werkt prima.

    Nu wordt de site echter niet door Google geïndexeerd. Als ik namelijk het adres in voer (waardoor de index.php wordt opgevraagd) komt er de volgende HTTP header terug.
    [i:7cf974d9b9]
    HTTP/1.1 302 Found
    Date: Mon, 27 Aug 2012 19:32:09 GMT
    Server: Apache/2.2.16 (Debian)
    X-Powered-By: PHP/5.3.3-7+squeeze9
    Expires: Thu, 19 Nov 1981 08:52:00 GMT
    Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
    Pragma: no-cache
    Location: /home/show.html
    Vary: Accept-Encoding
    Content-Encoding: gzip
    Content-Length: 20
    Keep-Alive: timeout=15, max=100
    Connection: Keep-Alive
    Content-Type: text/html
    [/i:7cf974d9b9]

    Dit accepteert Google schijnbaar niet. Is er een manier dat mod_rewrite wel werkt onder Google? Ik zit al weken te zoeken, maar kan nergens een goed antwoord vinden.

    [b:7cf974d9b9].htaccess[/b:7cf974d9b9]
    RewriteEngine On

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*).html$ index.php?url=$1
  • Google accepteert het gewoon en doet precies wat je zegt.

    [i:02d913dac6]Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
    Pragma: no-cache[/i:02d913dac6]

    Met andere woorden, volgens je eigen instructies moet Google jou helemaal niet indexeren. Aangezien dit (lees: de headers die zeggen dat je niet moet indexeren) geen standaardinstelling van Linux of Apache is moet je de oplossing ergens in je eigen configuratie zorgen, wellicht een .php-bestand of .htaccess, maar het kan ook ergens anders ingesteld zijn.

    - Bas
  • Ik kan zo nergens vinden waar deze instelling gedefinieerd word. Ik denk dat mod_rewrite het toch doet. (apache.conf, httpd.conf en .htaccess doorgeplozen).

    Nu de headers veranderd in PHP met headers() tot het volgende.

    [i:4ed2f426e3]HTTP/1.1 302 Found
    Date: Tue, 28 Aug 2012 11:22:27 GMT
    Server: Apache/2.2.16 (Debian)
    X-Powered-By: PHP/5.3.3-7+squeeze9
    Set-Cookie: PHPSESSID=3aqqn28h9fc0trts3kvcaj68p2; path=/
    Expires: Mon, 1 Aug 2016 05:00:00 GMT
    Cache-Control: max-age=360
    Pragma: public
    Location: /home/show.html
    Vary: Accept-Encoding
    Content-Type: text/html[/i:4ed2f426e3]

    Even kijken hoe dat zich gaat ontwikkelen
  • Lees anders ook even de informatie die Google zelf geeft over caching, dat scheelt je wachten op resultaat en dan kan je het gelijk goed doen.

    Succes!

    - Bas

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.