Archief - PHP: gebruiksvriendelijkere urls

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

keybern

Legacy Member
Ik vroeg me af of het in PHP ook mogelijk is om zoals bijvoorbeeld in Turbogears (framework rond python maar dat is even onbelangrijk) url's te ondersteunen zoals:

http://www.mijnwebsite.be/keybern
ipv
http://www.mijnwebsite.be/index.php?user=keybern

soort van verkorte en gebruiksvriendelijke notatie waarbij 'keybern' niet staat voor een fysiek bestand op de webserver maar voor een object dat moet worden opgehaald en weergegeven...
(je ziet dat tegenwoordig wel vaker op websites)

Radiance

Legacy Member
Ja, in combinatie met Apache is dat zeker mogelijk, andere webservers waarschijnlijk ook wel.
Lees eens de informatie over mod_rewrite.

Er zijn ook verschillende Frameworks die op die basis werken voor PHP, oa. Zend Framework;

Tyfius

Legacy Member
Zoals Radiance al zei is mod_rewrite de snelste oplossing. Je kan dit ook zelf definieren, ik gebruik geen mod_rewrite maar werk ook met .tld/index.php/nl/nieuws/2/../, de index.php wordt geparsed, en daarna loop je gewoon de argumenten af, [1] = taal, [2] = pagina, [3] (bij nieuws) de 2de pagina (items 50-100), ...

killgore

Legacy Member
Nu, mag ik eens vragen waarom iedereen dit eigenlijk wilt BUITEN het esthetische?

Gebruiksvriendelijker wordt hier genoemd:

Diegene die doorhebben hoe dit werkt zijn meestal mensen die evengoed weten hoe ze met een ?user=keybern url kunnen werken.
In dergelijke / / structuren heb je in 90% van de gevallen niet eens door welke variabele je aanpast itt de ?var=value versies

Linwe

Legacy Member
Heb me zelf ook ooit iets dergelijks gemaakt, niet langs de juiste weg tho. Het mooiste is om het vangen van die url over te laten aan apache. Wat je echter ook kan doen is op u pagina zelf via php uw huidige url bekijken.

Zo had ik een scriptje geschreven dat ging kijken wat er achter mijurl.be/ stond. Was dit een bestaande folder op het systeem, begon ik met het inladen van de index in die folder, anders werd de juiste pagina uit de database gehaald op basis van die "foldernaam". Maw: hetzelfde als ?user=test

Erlend

Legacy Member
killgore zei:
Nu, mag ik eens vragen waarom iedereen dit eigenlijk wilt BUITEN het esthetische?

Gebruiksvriendelijker wordt hier genoemd:

Diegene die doorhebben hoe dit werkt zijn meestal mensen die evengoed weten hoe ze met een ?user=keybern url kunnen werken.
In dergelijke / / structuren heb je in 90% van de gevallen niet eens door welke variabele je aanpast itt de ?var=value versies

Doe zelf de test, en welke url zegt u het meeste:
- http://www.website.be/index.php&tal=nl?u=computer?o=sterk
- http://www.website.be/nl/computer/sterk

Erlend

Legacy Member
killgore zei:
ZEGT mij het meest of spreekt mij het meest aan, want ik heb duidelijk gezegd: "buiten het esthetische" :).

ik had het dan ook over de gebruiksvriendelijkheid.

TiZon

Legacy Member
RpR zei:
Dacht dat zoek roboten minder problemen hebben met die manier :)


ook al, google, gaat maar tot 1 argument na het ? dacht ik.
als je bv:
index.php?p=news&id=50
index.php?p=news&id=51
index.php?p=news&id=52
...

dan zal google alleen je index.php?p=news indexen.
met mod-rewrite

keybern

Legacy Member
@Killgore: voor gebruikers/surfers is het makkelijker om een url zoals www.mijnwebsite.be/joske mondeling door te geven dan te zitten zeveren met 'vraagteken, joezer, gelijk aan, joske' ...

Gebruikers dienen trouwens niets af te weten van de interne werking en variabelen waaruit je website bestaat.

Smoerf

Legacy Member
1. Smart URL's zijn beter leesbaar voor mensen
Met een URL als http://netters.nl/url-herschrijven-met-mod-rewrite weet je precies waar de pagina over gaat (tenzij je niet weet wat mod_rewrite is natuurlijk). Dit maakt het bookmarken en het doorsturen van links naar iemand anders makkelijker. Ook geeft het naast de paginatitel een korte samenvatting van de betreffende pagina.

2. Smart URL's zijn beter leesbaar voor zoekmachines
Zoekmachines gebruiken de woorden binnen een URL als argument. Van een URL als http://www.site.nl/index.php?catID=4&subID=25 kan een zoekmachine geen kaas maken, maar een URL als http://www.site.nl/nieuws/wij-zijn-verhuisd-naar-arnhem is beschrijvend en bevat belangrijke zoektermen.

3. Zoekmachines indexeren lange parameter-string niet
Het blijkt dat zoekmachines URL's met meer dan drie parameters niet of niet volledig indexeren. Ook URL's met parameters met een waarde van meer dan 10 karakters kunnen mogelijk niet geïndexeerd worden. URL's die herschreven zijn met mod_rewrite worden prima opgenomen.

4. Zoekmachines indexeren één URL maar een aantal keer
Het schijnt dat zoekmachine's van sites met meerdere URL's die beginnen als index.php? maar een aantal van deze pagina's indexeren, omdat het in de ogen van zoekmachines gaat om dezelfde pagina's. Dit wil je natuurlijk niet.

5. Smart URL's zijn platformonafhankelijk
Als je ooit je site in platte HTML hebt geschreven met de homepage op http://www.site.nl/index.html dan is het lastig om later op PHP over te gaan, omdat de homepage dan opeens op http://www.site.nl/index.php komt te staan. Alle bezoekers die binnenkomen op index.html zul je dan moeten redirecten en dat is knap vervelend.

6. Smart URL's zijn estetisch gezien mooier
Het is verschil tussen een URL vol parameters en een strakke URL met daarin een paar beschrijvende woorden zal duidelijk zijn. Dit is zeker niet het grootste argument voor smart URL's, maar het is er zeker weten wel één.

bron: http://netters.nl/url-maken-met-mod_rewrite

Boris Yeltsin

Legacy Member
Een belangrijk punt is imo dat de url niets (of toch zeer weinig) prijs geeft over de interne structuur van uw website.
Het is dus niet alleen mooier maar ook veel veiliger om met dit soort url's te werken.

killgore

Legacy Member
dJeez zei:
I've got one TLA for you : SEO.

uhu, daar ben ik nu al van overtuigd, het gebruiksvriendelijkere blijf ik in 99% van de gevallen bs vinden :), maar die SEO is een goed genoege reden om het te doen.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan