[mod_rewrite] Image urls foutief door gebruik van rewrite

Pagina: 1
Acties:

  • sc0rpz
  • Registratie: November 2003
  • Laatst online: 23-09-2021
Ik gebruik mod_rewrite om de oh zo bekenden SE Friendly URLs te maken. Na enig hangen en wurgen heb ik dit aan de praat gekregen, maar nu zit ik met het volgende probleem:

ik heb:
code:
1
2
3
4
5
6
7
8
9
10
11
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/\.]+)/?$ /index.php?cat=$1 [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/\.]+)/([^/\.]+)/?$ /index.php?sub_cat=$2&cat=$1 [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/\.]+)/([^/\.]+)/([^/\.]+)/?$ /index.php?pro_gr=$3&sub_cat=$2&cat=$1 [L]


Zoals misschien al uit de code blijkt ben k nog niet echt thuis in mod_rewrite, (die RewritedCond moet toch ook gewoon in 1x gespecified kunnen worden :|), maar dit werkt in ieder geval.

Maar wat gebeurt er nou als ik bv http://www.domain.com/Computer/Besturing in typ... Alles werkt,
alleen alle plaatjes met relatieve urls werken niet meer, aangezien de browser er "Computer/Besturing/images/image.jpg" van maakt.

Hoe los ik dit op? Door een nog een rewrite? Of is hier een nettere oplossing voor?

Ik heb dit geprobeerd:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/\.]+)/?$ /index.php?cat=$1
RewriteRule ^([^/\.]+)/images$ /images/ [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/\.]+)/([^/\.]+)/?$ /index.php?sub_cat=$2&cat=$1
RewriteRule ^([^/\.]+)/([^/\.]+)/images$ /images/ [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/\.]+)/([^/\.]+)/([^/\.]+)/?$ /index.php?pro_gr=$3&sub_cat=$2&cat=$1 [L]


Maar dat werkt niet (waarschijnlijk omdat mijn eigen image regel voor geen meter klopt, maar ik wilde eerst weten of er geen betere oplossing voor is...)

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 14:04

TeeDee

CQB 241

<base href="http://domain.com" /> in je html gebruiken is de makkelijkste/snelste en afaik enige correcte oplossing.

[ Voor 13% gewijzigd door TeeDee op 12-12-2006 14:09 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Gebruik de <base> tag op je pagina's, dan heb je hier geen last meer van. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • sc0rpz
  • Registratie: November 2003
  • Laatst online: 23-09-2021
Koningen!

Een absoluut n00b gevoel bekruipt me hier, hoe heb ik die tag al jaren kunnen missen!

Problem solved, topic mag dicht, GoT bedankt :P