login  Naam:   Wachtwoord: 
Registreer je!
 Forum

.htaccess

Offline Simon - 08/06/2006 18:26 (laatste wijziging 08/06/2006 18:26)
Avatar van SimonPHP expert Hey,
ik heb een .htaccess bestand, maar van zodra ik dit erbij zet
Citaat:
RewriteEngine On
RewriteRule ^/(.+).html(?*)(.*)(=*)(.*) /index.php?pag=$1&$3=$4

krijg ik een interne server fout
ik wil dat bijvoorbeeld: registreer.html?referer=Simon wordt omgezet naar index.php?pag=registreer&referer=Simon

ik weet het, het is een vreemde code, maar ik kan niet goed overweg met htaccess, iemand die weet hoe het wel moet?

10 antwoorden

Gesponsorde links
Offline Richard - 08/06/2006 18:33
Avatar van Richard Crew algemeen
  1. ^(.+)\.html(\?(.*)=(.*))? /index.php?page=$1&$3=$4


zoiets zou wel moeten werken gok ik;-)
Offline Simon - 08/06/2006 19:14
Avatar van Simon PHP expert werkt nog niet, toch bedankt,
mss staat rewrite niet aan? hoe zet ik dit aan?
moeten rewrite rules voor errordocs of erna of maakt het niet uit?
Offline eXziBit - 08/06/2006 19:46
Avatar van eXziBit Onbekend
  1. ^(.+)\.html(\?(.*)=(.*))? /index.php?pag=$1&$3=$4
zal al eerder werken ;) jexus gaat van ?pag= ineens naar ?page=.
Offline Simon - 08/06/2006 19:54
Avatar van Simon PHP expert nog steeds interne fout, ik denk dat rewrite niet aanstaat, waar kan ik dat aanzetten?
Offline letscode - 08/06/2006 20:14
Avatar van letscode HTML beginner in je httpd.conf van apache. Daar staat ergens bij LoadModules wel een regel voor mod_rewrite bij. Daar haal je het # voor weg en je herstart Apache.
Offline marten - 08/06/2006 20:17
Avatar van marten Beheerder let ook op de volgorde van die LoadModules. In de installatie tekstbestand van Apache staat meer uitleg daarover.
Offline Simon - 08/06/2006 20:30
Avatar van Simon PHP expert nu geeft hij geen fout meer, maar als ik registreer.html?refer=Simon
kom ik bij registreer.php terecht, maar die refer is weg als ik echo $_GET['refer'] doe
...
Offline Thomas - 09/06/2006 10:51
Avatar van Thomas Moderator Ik zit met hetzelfde probleem, op een of andere manier wil "?" niet gematched worden...

\? schijnt geen "?" te matchen.

Als iemand een oplossing weet .
Offline BramBo - 09/06/2006 10:52 (laatste wijziging 09/06/2006 10:52)
Avatar van BramBo JS gevorderde probeer eens print_r($_GET); 

edit : je kan altijd ; gebruiken ipv ?
Offline Thomas - 09/06/2006 11:36 (laatste wijziging 09/06/2006 11:56)
Avatar van Thomas Moderator Ik denk dat ik het heb.
Variabelen in je query-string (?a=1&b=2...) dienen apart behandeld te worden via RewriteConds.
Delen die je matched in een RewriteCond kun je opvragen met %<match van n-de patroon>, net als bij RewriteRules.

Ik kom hier op terug.

EDIT:
Simon, probeer het volgende eens:
  1. RewriteEngine on
  2. RewriteCond %{QUERY_STRING} ^referer=(.*)$
  3. RewriteRule (.+)\.html$ index.php?pag=$1&referer=%1


Als je altijd maar één querystring-variabele hebt, zou je ook het volgende kunnen gebruiken:

  1. RewriteEngine on
  2. RewriteCond %{QUERY_STRING} ^([^=]+)=(.*)$
  3. RewriteRule (.+)\.html$ index.php?pag=$1&%1=%2
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.214s