PDA

Bekijk Volledige Versie : URL Rewriting



Piwi-Web
31/01/12, 17:37
Dit is een beknopte howto wat de basis uitlegt.

SEO Url's of ook wel je Url's "rewriten".

Bij een standaard apacheinstallatie staat het ingeschakeld, de RewriteEngine. Hiermee kan je je URL's "mooi" maken.

Bij veel websites zie je zoiets:

http://www.mijnwebsite.nl/?page=nieuws&id=123
De URL zegt je enkel dat het een nieuwspagina is. Welk artikel je gaat lezen kan je niet uit de URL halen. Ook Google vindt deze URL's niet fijn en worden niet altijd goed geindexeerd. Je zou deze URL kunnen herschrijven naar:

http://www.mijnwebsite.nl/nieuws/123
Dat ziet er al veel beter uit maar je weet nog altijd niet wat je gaat lezen. Daarom zul je bij bovenstaand ook je code moeten veranderen waardoor een titel in je code wordt vertaald naar een nieuwsbericht. Je zal als resultaat zoiets krijgen:

http://www.mijnwebsite.nl/nieuws/Welkom-op-mijn-nieuwe-website/
De bezoeker weet bij bovenstaande URL dat hij het nieuwsbericht "Welkom op mijn nieuwe website" gaat lezen. Ook google waardeert dit waardoor je hoger in zoekresultaten kan komen.

De code (meestal in de .htaccess):


# Inschakelen rewriteengine
RewriteEngine On

# Basis is de rootdir
RewriteBase /

# Je URL rewriten
RewriteRule ^nieuws/(.*)/?$ /index.php?page=nieuws&id=$1 [NC,L]


De RewriteRule zullen we nu eens uit elkaar trekken.
^nieuws/(.*)/?$
Je begint altijd met een ^ en eindigt met /?$
nieuws/ zegt ons dat het hier om de nieuwspagina gaat
(.*) maakt een variabele aan ($1 in dit geval gezien het de eerste is). (.*) accepteert alle tekens! [a-z]+[A-Z] accepteert enkel A tot Z in kleine en hoofdletters. Je kan hier dus reguliere expressies gebruiken (zie onderaan voor details)

/index.php?page=nieuws&id=$1
Onze oude URL waarbij $1 onze variabele is

[NC,L]
Dit zijn de "flags". NC betekend dat deze regel niet hoofdlettergevoelig is en de L geeft aan dat er gestopt kan worden als deze regel gebruikt wordt. Voor meer flags zie hieronder.

Reguliere expressies
. (any character)
* (zero of more of the preceding)
+ (one or more of the preceding)
{} (minimum to maximum quantifier)
? (ungreedy modifier)
! (at start of string means "negative pattern")
^ (start of string, or "negative" if at the start of a range)
$ (end of string)
[] (match any of contents)
- (range if used between square brackets)
() (group, backreferenced group)
| (alternative, or)
\ (the escape character itself)

Flags
C (chained with next rule)
CO=cookie (set specified cookie)
E=var:value (set environment variable var to value)
F (forbidden - sends a 403 header to the user)
G (gone - no longer exists)
H=handler (set handler)
L (last - stop processing rules)
N (next - continue processing rules)
NC (case insensitive)
NE (do not escape special URL characters in output)
NS (ignore this rule if the request is a subrequest)
P (proxy - i.e., apache should grab the remote content specified in the substitution section and return it)
PT (pass through - use when processing URLs with additional handlers, e.g., mod_alias)
R (temporary redirect to new URL)
R=301 (permanent redirect to new URL)
QSA (append query string from request to substituted URL)
S=x (skip next x rules)
T=mime-type (force specified mime type)

Bron: http://www.addedbytes.com/for-beginners/url-rewriting-for-beginners/

Yourwebhoster
31/01/12, 19:37
Eerste tut (congrats) en informatief! Ter aanvulling: dit is enkel een technische handleiding, er komt nog veel meer bij kijken als om het om SEO gaat zoals het gebruiken van de juiste keywords en opbouw (en niet te vergeten de inhoud en vele andere aspecten). Er zijn veel verschillende meningen en theorieën hierover waar ik mij niet aan ga wagen (er zijn niet voor niets complete SEO boeken en gespecialiseerde bedrijven) maar hier kom je al een eindje mee op weg.

The-BosS
01/02/12, 09:26
Mijn complimenten Piwi-Web, zeer mooie tutorial

Piwi-Web
01/02/12, 10:42
@Yourweb, The-BosS
We houden het 'beknopt' ;-) URL rewriting kan nog verder gaan uiteraard.
SEO gaat inderdaad een heel stuk verder dan URL rewriting. Denk inderdaad aan keywords, description, links, etc.
Ik heb hier een "SEO ebook" liggen die gratis werd aangeboden, hij is alleen te groot om te uppen :(

Domenico
01/02/12, 13:38
Ik heb hier een "SEO ebook" liggen die gratis werd aangeboden, hij is alleen te groot om te uppen :(

Hoeeel heb je nodig? Dan pas ik dat even aan zodat je hem alsnog kan uploaden.

Piwi-Web
02/02/12, 10:36
Hoeeel heb je nodig? Dan pas ik dat even aan zodat je hem alsnog kan uploaden.

Hij is 3,2 MB groot. Ik kreeg "uploaden mislukt" dus neem aan dat ik geen ruimte heb?
Als je mij een PM stuurt met je e-mailadres kan ik hem eventueel ook mailen ;-)

Domenico
02/02/12, 19:27
Hij is 3,2 MB groot. Ik kreeg "uploaden mislukt" dus neem aan dat ik geen ruimte heb?
Als je mij een PM stuurt met je e-mailadres kan ik hem eventueel ook mailen ;-)

Is het een pdf? zip? rar? Please try again! :)

Piwi-Web
15/02/12, 14:10
Wilt nog niet... PDF trouwens

Yourwebhoster
15/02/12, 14:51
Wilt nog niet... PDF trouwens
Al gezipped en geupload (zie suggestie Domenico)??