[regexp] mod_rewrite rewrited url laten 'redirecten'.

Pagina: 1
Acties:

  • r0b
  • Registratie: December 2002
  • Laatst online: 04-04 22:07
Wegens een brakke pagina zit ik momenteel met het probleem dat ik de volgende structuur heb in een pagina:
index.php
index.php?list=X
index.php?id=X
index.php?slideshow=X

Met behulp van mod_rewrite heb ik hier imiddels /id/1 en /list/1 van gemaakt. Echter, de pagina is dus zo 'fijn' opgebouwd dat hij momenteel /id/ als basepath pakt, en daar van probeert zijn files te laden.
Met als resultaat dat plaatjes bijvoorbeeld niet werken.

Nu heb ik de volgende mod_rewrite regels:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
RewriteEngine On
RewriteBase /v2

RewriteCond %{REQUEST_URI} \.+ [NC]
RewriteRule ^(.*)$ - [L]
RewriteRule ^id/([^/]+)/?$ index.php?id=$1 [L,QSA]
RewriteCond ${QUERY_STRING} !^$
RewriteRule ^$ index.php [L]

# RewriteRule ^list/([^/]+)/?$ index.php?list=$1 [L,QSA]
RewriteRule ^list/([^/]+)/page/?([0-9]{1,})/?$ index.php?list=$1&page=$2 [QSA,L] 
RewriteCond ${QUERY_STRING} !^$
RewriteRule ^$ index.php [L]

RewriteRule ^list/([^/]+)/?$ index.php?list=$1 [L,QSA]
RewriteCond ${QUERY_STRING} !^$
RewriteRule ^$ index.php [L]

RewriteRule ^slideshow/([^/]+)/?$ index.php?slideshow=$1 [L,QSA]
RewriteCond ${QUERY_STRING} !^$
RewriteRule ^$ index.php [L]
Deze regels zijn het resultaat van 4 uur zoeken *trots isch*

Nu moet ik bijvoorbeeld de /id/images/ folder laten redirecten naar ../images.
Na 2 uur proberen met mod_rewrite ben ik tot de conclusie gekomen dat deze alleen maar met losse files werkt, en mod_alias genereert een error.

Is wat ik wil überhaupt wel mogelijk en heb ik er gewoon straal over heen gekeken, of .. ?
De search en Google laten me op dit moment in de steek.

De hele pagina ombouwen is eigenlijk geen optie (niet alleen vanwege het feit dat het me op dit moment teveel regels code zijn :X )

Verwijderd

Ik had met hetzelfde probleem te maken.
Dit heb ik wel moeten oplossen door een basepath in mijn html pagina te verwerken.
(tussen de title en meta tags)
code:
1
<BASE HREF="http://jedomeinnaam.nl/" >

Dan heb je in princiepe daarna maar 3 regels voor mod_rewrite nodig,
die er ongeveer zo uitzien.
code:
1
RewriteRule ^list/([^/]*)$  index.php?list=$1 [L,QSA]

  • r0b
  • Registratie: December 2002
  • Laatst online: 04-04 22:07
*proest*
Ik had het kunnen weten door de tijd die ik er aan gespendeerd heb dat het iets doodsimpels zou zijn. :+
Ik had er zelfs nog een topic over gelezen, maar dacht dat het niet relevant was.

Schutje, je bent de held van de dag. :*
Bedankt, nu werkt hij en kan ik weer verder. :)

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

[/maaltijd]
[mosterd]
Je moet niet vergeten dat het shitloads aan dataverkeer kost als je alle roots toestaat. De browser weet niet beter of http://www.domein.nl/id/gfx/logo.gif is een ander bestand dan http://www.domein.nl/gfx/logo.gif

Dus ik zou dergelijke rewrites ueberhaupt afraden.
[/mosterd]

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz