Eenvoudige Apache mod_rewrite werkt niet

Pagina: 1
Acties:

  • DeepFreeze.NL
  • Registratie: April 2006
  • Laatst online: 12-01 16:11
Ik heb met behulp van http://www.generateit.net/mod-rewrite/ de volgende rewrite regel gegenereerd.

RewriteEngine On
RewriteRule ^([^/]*)$ /index.php?page=$1 [L]

www.voorbeeld.nl/pagina moet dan verwijzen naar index.php?page=pagina.
Om een of andere reden krijg ik steeds een internal server error (500).

De volgende regel werkt wel:
RewriteRule ^([a-z-]+)/$ /index.php?page=$1

Het probleem is dat ik bepaalde pagina's wil uitsluiten en dat ook zonder / op het einde de pagina getoond wordt.

Wat doe ik fout bij die eerste regel? Speurwerk op internet en het gebruik van een mod_rewrite cheat sheet heeft mij nog niet verder geholpen.

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 16:50
Na een rewrite doet apache een nieuw, intern, request.
In het geval van je eerste voorbeeld naar "index.php", welke op zijn beurt weer matched, teneinde je met een endless-loop zit.
In het 2de geval gebeurd dit niet omdat de de punt niet matched.

Je zou dit kunnen doen
code:
1
2
3
RewriteEngine On
RewriteCond %{REQUEST_URI} !^index\.php$
RewriteRule ^([^/]*)$ /index.php?page=$1 [L]


Dit had je kunnen ontdekken door de errorlog van je webserver te bekijken, waarin hij melding zou maken van 10 opeeenvolgende rewrites.

Je rewrite doet het dus prima. Heel vaak zelfs :Y)

@hieronder
Buiten dat ze die met een beetje configureren naar je persoonlijke homedir kunnen schrijven, zijn die bij veel hosters ook via één of ander webpanel wel inzichtelijk.

[ Voor 33% gewijzigd door frickY op 28-09-2009 21:37 ]


  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 06:49

Sebazzz

3dp

frickY schreef op maandag 28 september 2009 @ 18:50:
Dit had je kunnen ontdekken door de errorlog van je webserver te bekijken, waarin hij melding zou maken van 10 opeeenvolgende rewrites.
Beetje moeilijk bij shared hosting, dat wel.

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]