PHP techniek bijhorend voor SEO
www.mijnwebsite.be/index.php?p=dit_is_een_pagina
in plaats van
www.mijnwebsite.be/dit_is_een_pagina.php
Maar nu is het kleine probleem, wanneer de pagina "dit_is_een_pagina.php" wordt geoptimaliseerd met SEO technieken, dan wordt deze ook zo in Google opgenomen. Mensen krijgen dan in Google een link naar "dit_is_een_pagina.php" en valt de opmaak weg...
Welk stuk code moet ik op "dit_is_een_pagina.php" plaatsen zodat wanneer men "www.mijnwebsite.be/dit_is_een_pagina.php" intypt, automatisch de opmaak erbij krijgt, met andere worden deze link te zien krijgt: "www.mijnwebsite.be/index.php?p=dit_is_een_pagina" ?
Het is een beetje een rare uitleg, maar ik hoop dat jullie er aan uit kunnen en mij met dit probleem kunnen helpen.
Alvast bedankt!
Idd, een betere uitleg zou wel handig zijn!
Wanneer ik de pagina "dit_is_een_pagina.php" voorzie van SEO technieken voor woorden zoals "PHP hulp" en dergelijke komt deze dan bovenaan bij de resultaten te staan.
Aangezien "dit_is_een_pagina.php" voorzien is van die technieken gaat google een link voorzien naar deze pagina, maar niet naar de index.php waar de opmaak staat.
Gaan mensen op deze link klikken krijgen ze enkel de nodige pagina te zien, maar is dit enkel tekst op een onoverzichtelijke manier aangezien de opmaak op de index.php staat.
Daarom dat ik een code zoek, waardoor mensen automatisch ook de index te zien krijgen wanneer ze een pagina van deze site willen bezoeken.
Dus: wanneer mensen intypen www.mijnwebsite.be/dit_is_een_pagina.php zouden ze niet enkel deze pagina te zien mogen krijgen, maar ineens met de opmaak erbij: www.mijnwebsite.be/index.php?p=dit_is_een_pagina
Hopelijk is dit iets duidelijker...
Code (php)
1
2
3
4
5
6
2
3
4
5
6
RewriteEngine On
Options +FollowSymLinks
RewriteBase HIER DE MAP WAAR HET IN STAAT
RewriteCond $1 !^(index)
RewriteRule ^(.*?).php/?$ index.php?p=$1
Options +FollowSymLinks
RewriteBase HIER DE MAP WAAR HET IN STAAT
RewriteCond $1 !^(index)
RewriteRule ^(.*?).php/?$ index.php?p=$1
zoiets moet werken...
Suc6!
Alvast bedankt
Dan laat je "RewriteBase" weg.
Ik heb het bestand redirect.htaccess op mijn server geplaatst en wanneer ik een pagina intyp zonder de index.php?p= ... krijg ik deze nog gewoon te zien.
redirect.htaccess ziet er als volgt uit:
RewriteEngine On
Options +FollowSymLinks
RewriteCond $1 !^(index)
RewriteRule ^(.*?).php/?$ index.php?p=$1
Gewijzigd op 01/01/1970 01:00:00 door Niels
Dat er even bij zetten ;)
En de .php extensie (bij je rewrite rule, de eerste .php die je tegenkomt) vervangen door .html zodat je pagina's jouwpagina.html worden. Dit is SEO gezien weer iets beter ;)
De website wordt dan gewoon gekopieerd en in de database worden de gegevens van de eigenaar veranderd zodat deze overal op de website wijzigen. Geen nood, de eigenaars weten ook dat de site meerdere keren gebruikt worden dus niet dat we mensen in het zak zetten en het ons makkelijk maken ;-)
de file redirect.htaccess ziet er als volgt uit momenteel:
RewriteEngine On
Options +FollowSymLinks
RewriteBase /
RewriteCond $1 !^(index)
RewriteRule ^(.*?).html/?$ index.php?p=$1
en nog steeds kan ik gewoon naar de pagina surfen zonder dat de index erbij komt te staan. Om het eenvoudiger te maken geef ik de echte url door.
Ik kan de pagina zo bezichtigen: http://www.sport-producten.be/shake_recepten.php
maar het zou moeten zijn: http://www.sport-producten.be/index.php?p=shake_recepten
.htaccess
;)
Misschien zit er een foutje in de code? Ontbreekt er iets of dergelijke? Ik heb absoluut geen verstand van .htaccess....
PS: ik weet niet wat er fout is aan je code
Dit zou moeten werken :)
Wat je zegt, Jesse, klopt niet helemaal. Je herschrijft de url naar een .html, maar in feite roep je dit aan: index.php?p=mooie_pagina en je krijgt dit in de browser: mooie_pagina.html
Niet vergeten om het bestand direct op je server op te slaan als .htaccess! (En gebruik nou de code die ik heb gegeven hierboven ;))
Ik heb de code gebruikt dewelke je hierboven hebt geschreven:
RewriteEngine On
RewriteBase /
ReqriteRule ^(.+).html$ index.php?p=$1
...en opnieuw met een 500 Internal Server Error.
Het bestand staat rechstreeks op de server als .htaccess
Eerst heb ik jouw code gebruikt, zonder resultaat. Nu heb ik de .html veranderd in .php
RewriteEngine On
RewriteBase /
ReqriteRule ^(.+).php$ index.php?p=$1
....aangezien al mijn pagina's extensie .php hebben (en moeten behouden) maar opnieuw geen resultaat...
Aan wat kan dit liggen??
Gewijzigd op 01/01/1970 01:00:00 door Niels
Weet je wel zeker dat je server mod_rewrite ondersteunt?
Normaal is dat geen probleem, maar gisteren kregen ik op localhost (Wamp2) ook een 500-fout op lege regels aan het eind van mijn htaccess-bestand.
Wellicht dat je daar ook naar kan kijken. Ik heb me ook rot gezocht voordat ik het had.
@ Eddy: Ik heb de lege ruimtes voor en na alles verwijderd, opnieuw zonder resultaat, nog steeds de 500-fout
Het zijn feitelijk "neppe" pagina's, je "rewrite" (herschrijft) je links naar mooiere links. Dan maakt het niet uit of je ASP, JS of PHP gebruikt!
.htaccess ondersteunen is iets anders dan mod_rewrite ondersteunen. Ik zou het nog even navragen / nazoeken in phpinfo().
en modules van apache kan je gewoon ophalen met php natuurlijk...
http://www.php.net/manual/en/function.apache-get-modules.php
nu bestaat mijn .htaccess uit volgende code:
RewriteEngine On
RewriteBase /
RewriteRule ^(.+).php$ index.php?p=$1
Nu krijg ik geen 500-fout maar wanneer ik dan gewoon naar de index ga (het domein simpelweg intyp) krijg ik een oneindige lus.
Suggesties?