[mod_rewrite] Uitzondering op rewrite rule maken

Pagina: 1
Acties:

  • Reveller
  • Registratie: Augustus 2002
  • Laatst online: 05-12-2022
Na veel pijn en moeite heb ik een mod_rewrite op mijn thuisserver werkend gekregen en mbv de nodige materialen (vooral: open source cms'en) doorspitten de volgende rewrite rule gemaakt:
code:
1
2
3
4
5
6
7
8
9
<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteBase /cms

  # Rewrite URLs of the form 'index.php?q=x':
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
</IfModule>

Nu, enkele weken later, loop ik tegen een probleem op. Ik wil nl. een statistiekentool maken. Zoals bijna iedereen dat doet, wil ik een plaatje laden met als src iets als:
HTML:
1
[img]"log.php?w=1024&h=768&r=www.nu.nl&c=32"[/img] etc.

Maar (uiteraard) - wordt dit omgeschreven naar
code:
1
index.php?q=log.php?w=1024&h=768......

Ik ben nu al een tijdje op zoek naar een oplossing, maar de documentatie van mod_rewrite is van een erg bijna wetenschappelijk niveau, met naar mijn zin te weinig practische voorbeelden. Ik denk dat ik een uitzondering op deze rule moet toevoegen voor log.php, maar wie helpt mij daar mee op weg? (8>

"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."


  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

Heb je deze guide ook bekeken: http://httpd.apache.org/docs/misc/rewriteguide.html en dan op 'exception' ge-CTRL+F'ed? :)

  • G33rt
  • Registratie: Februari 2002
  • Laatst online: 22-06-2022
Die hele tekst staat bij mij niet in die guide ele?

Zet een extra RewriteRule voor de eerste die alleen door log.php gematched wordt. Elke rewriterule is namelijk, als ik mod_rewrite een klein beetje snap, een soort exit uit je IfModule.

Als je dus een RewriteRule maakt die log.php naar zichzelf laat wijzen, zou dat een werkende workaround moeten zijn :)