login  Naam:   Wachtwoord: 
Registreer je!
 Forum

gebruiksvriendelijke urls

Offline roy - 01/08/2007 22:50 (laatste wijziging 04/03/2008 09:54)
Avatar van royPHP gevorderde Beste,

Ik ben op zoek naar jullie mening!

Het maken van een werkende website is niet al te lastig.
Belangrijk is een goede structuur en gebruiksvriendelijke urls.

Hoe zorgen jullie voor een goede pagina structuur en gebruiksvriendelijke urls?

12 antwoorden

Gesponsorde links
Offline Pieter - 01/08/2007 22:59
Avatar van Pieter Gouden medaille

SEO guru
http://www.site...lijke_URLs.
Offline roy - 01/08/2007 23:11 (laatste wijziging 02/08/2007 01:01)
Avatar van roy PHP gevorderde ok, mod_rewrite dus...

toen ik dat implementeerde had ik de grootste moeite met het gebruik van verschillende variabele....

zijn er bepaalde richtlijnen?
zijn er duidelijke tutorials?

hoe bouw je bijvoorbeeld een groot .HTACCES op?

groeten,
Roy
Offline xSc - 02/08/2007 07:45
Avatar van xSc Onbekend Hoezo moeite?

Ik zie weinig verschil. Alleen je verwijzingen moeten kloppen:

  1. RewriteCond %{REQUEST_URI} !/afbeeldingen(.*)
  2. RewriteCond %{REQUEST_URI} !/opmaak(.*)
  3. RewriteCond %{REQUEST_URI} !/scripts(.*)
  4.  
  5. RewriteRule ^(.*)/(.*)/$ index.php?sP1=$1&sP2=$2 [L]
  6. RewriteRule ^(.*)/$ index.php?sP1=$1 [L]


Zo gebruik ik heb meestal.

Uitleg bovenstaand: wanneer ik een verwijzing maak naar afbeeldingen, opmaak of scripts, dan wordt het niet toegepast.

Daaronder zie je dat je max. 2 vars kunt gebruiken in de URL. Natuurlijk kun je er meer gebruiken. Maar het loopt van veel vars naar minder. Dus als je 3 vars wilt toevoegen, komt 'tie boven de regel met 2 vars:

RewriteRule ^(.*)/(.*)/(*)/$ index.php?sP1=$1&sP2=$2&sP3=$3 [L]


Het gebruik ervan is gemakkelijk:

http://url.be/test1/test2/

Met $_GET['sP1'] krijg ik test1 en met $_GET['sP2'] krijg ik test2.

Hoe de var's heten, bepaal je in het index.php? gedeelte (zie hierboven).

Offline citroen - 02/08/2007 07:50
Avatar van citroen Onbekend waarom per var een apparte rewriteRule schrijven?
waarom niet gewoon 1 rule die alles naar een php pagina stuurt. waar in die pagina de variabele pas worden uitgelezen en acties op toegepast. Zorgt ervoor dat je je .htaccess file niet steeds moet aanpassen...
Offline ArndJan - 02/08/2007 08:37
Avatar van ArndJan PHP interesse Omdat dat het niet anders kan stel dat je een pagina hebt index.php?pagina=1&id=2 dan is de rule:

RewriteRule ^(.*)/(.*) index.php?pagina=$1&id=$2

en dan heb je een pagina: index.php?pagina=4 dan wordt je code:

RewriteRule ^(.*)/(.*) index.php?pagina=$1&id=$2
RewriteRule ^(.*) index.php?pagina=$1

Snapje?

Offline roy - 02/08/2007 19:36
Avatar van roy PHP gevorderde als je een url zoals dit maakt:

www.jesite.nl/praktijk/medewerkers

Dat was vroeger:

www.jesite.nl/12/3


de nieuwe manier is natuurlijk veel mooier, maar waar zijn je unieke keys uit de database?
en hoe voorkom je dubbele records?
Eigenlijk wordt heel je database structuur anders?

klopt dat?
Offline Pastebin - 02/08/2007 19:43 (laatste wijziging 02/08/2007 19:48)
Avatar van Pastebin Nieuw lid Mijn htaccess:
  1. # Close security hole
  2. php_flag register_globals off
  3.  
  4. RewriteEngine On
  5. RewriteCond %{SCRIPT_FILENAME} !-f
  6. RewriteCond %{SCRIPT_FILENAME} !-d
  7. RewriteRule .* index.php [QSA,L]


En dan een bestand includeMod.php: http://pastebin.be/4308

Komt er dus op neer dat je de afhandeling door PHP laat doen en niet in je .htaccess. Dat bespaart je veel ellende met parameters 'n shit.

Wat unieke records betreft: ik ben nu toevallig met een projectje bezig voor een uitgeverij. De weergave van een boek is als volgt:

site.be/boek/56/Een_titel_van_een_kutboek.html

Je ziet dat de 56 daar mooi tussen staat - ID van het boek dus. De rest is puur show maar zoekmachinevriendelijk.

Je kan ook een 'slug' gebruiken. Dan zou ik naast het ID een kolom in mijn database hebben waar ik in dit geval zou invullen:
Titel: Een boek, met bladzijden! En leestekens in de titel!
Slug: een_boek_met_bladzijden_en_leestekens_in_de_titel

Geef die kolom een unieke eigenschap en dan kan je dat gebruiken in je URL - site.be/boek/een_boek_met_bladzijden_en_leestekens_in_de_titel

Verder moet je de nutteloze info weglaten. Hier op Sitemasters bijvoorbeeld verschijnt het ID van de categorie in de URL, wat belachelijk is. Een topic is zowieso uniek, dus waarom de URL 'vervuilen' met dat stom getal? Beter is dus
/forum/1337/PHP/Titel

En niet /forum/topic/1/1337/PHP/Titel


Ik hoop dat je me een beetje snapt 
Offline roy - 02/08/2007 20:00
Avatar van roy PHP gevorderde dat begrijp ik wel,,, maar deze manier heeft veel weg van het gebruik van multi views?


mij was ooit aangeraden om .htaccess te gebruiken in plaats van multi views.


Nu is de vraag: wat is handiger/meest gebruikt?
Offline Pastebin - 02/08/2007 20:09
Avatar van Pastebin Nieuw lid Het is allebei ongeveer even snel maar de manier die ik omschreven heb is veel flexibeler.
Offline roy - 03/08/2007 11:18
Avatar van roy PHP gevorderde is het nu handiger om in je database te werken met strings of getallen?
Offline Martijn1989 - 03/08/2007 12:30
Avatar van Martijn1989 PHP ver gevorderde http://www.123r...nmayonaise

.htaccess
  1. Options +FollowSymlinks
  2. RewriteEngine ON
  3.  
  4. RewriteCond %{REQUEST_FILENAME} !-f
  5. RewriteCond %{REQUEST_FILENAME} !-d
  6.  
  7. RewriteRule ^recept/(.*)/(.*)?$ ./recept.php?id=$1&titel=$2


En altijd werken met het id uit de url, die veranderd nooit een naam zet je als het goed is over van spaties naar streepjes 
Offline roy - 03/08/2007 16:31 (laatste wijziging 03/08/2007 16:38)
Avatar van roy PHP gevorderde bedankt!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.264s