[url-rewriting]

Pagina: 1
Acties:

  • ebas
  • Registratie: Maart 2001
  • Laatst online: 20-04-2017
Hey mensen,

Wat ik wil is het volgende:
code:
1
2
RewriteRule     ^(.*)static/(.*)$      siteroot/$1static/$2   [L]
RewriteRule     ^(.*)$          main.php

maar dan werkend ;)

Wat probeer ik hiermee te bereiken:
Alle requests moeten via main.php gaan. Behalve dingen die zich in een static directory bevinden, zoals plaatjes e.d. Zo'n static directory moet zich overal in de tree kunnen bevinden bijvoorbeeld:

Deze urls moeten statisch overgezonden worden:
/tweakers/hardware/news/static/blaat.gif
/tweakers/static/pompompom.gif

Deze urls moeten door main.php
/tweakers/hardware/news
/tweakers/
/bladiebla

Ik heb héél veel geprobeerd en heel veel gezocht, maar mn apache raakt op 1 of andere manier in een infinite loop op manier zoals ik het heb...

Ik hoop dat iemand me ff wil helpen!

Aanvulling:
Als de regels gerewrite zijn, gaat hij met de output daarvan nog een keer het hele rijtje af; en dat wil ik niet, verder werkt ie wel goed geloof ik

[ Voor 12% gewijzigd door ebas op 22-03-2003 19:26 ]


  • Eegee
  • Registratie: Januari 2000
  • Laatst online: 22-08 17:13
Zoek eens op RewriteCond

  • ebas
  • Registratie: Maart 2001
  • Laatst online: 20-04-2017
En dan?

  • Eegee
  • Registratie: Januari 2000
  • Laatst online: 22-08 17:13
En dan? Dan moet je uit al die gevonden voorbeelden proberen te halen hoe RewriteCond werkt en hoe je het in jouw situatie kunt gebruiken.

Ik wist vrijdag nog niks van RewriteRules, maar heb zelf hier op GoT genoeg gevonden om zoiets als wat jij wil in dezelfde ochtend werkend te krijgen.

  • ebas
  • Registratie: Maart 2001
  • Laatst online: 20-04-2017
Ik weet hoe rewritecond werkt, ik weet hoe url rewriting werkt. Ik heb ook al een hoop geprobeerd; ik post hier niet voor niets. Dit is geen gebrek aan kennis, maar blijkbaar een gebrek aan inzicht in het een en ander. Hier vraag ik hulp voor.

  • MisterData
  • Registratie: September 2001
  • Laatst online: 21:49
RewriteCond zorgt ervoor dat je URL aan bepaalde voorwaarden moet voldoen voordat 'ie wordt vervangen door RewriteRule, om infinite loops te voorkomen :) http://httpd.apache.org staat meer informatie :)

  • ebas
  • Registratie: Maart 2001
  • Laatst online: 20-04-2017
Mensen ik weet :) Maar hoe krijg ik het werkend is de vraag..

  • Eegee
  • Registratie: Januari 2000
  • Laatst online: 22-08 17:13
OK, wat heb je al geprobeerd met RewriteCond (ipv alleen RewriteRule) ?
Dus gewoon welke regels tekst je een keer tijdens je pogingen had getypt, waarin je RewriteCond had gebruikt.
Ik probeer te helpen door aanzetten te geven he, dat je 't zelf op hebt gelost zeg maar. Dat is altijd het meest 'bevredigend' vind ik zelf :)

[ Voor 66% gewijzigd door Eegee op 22-03-2003 19:59 ]


  • ebas
  • Registratie: Maart 2001
  • Laatst online: 20-04-2017
code:
1
2
3
4
RewriteRule     ^static/(.*)$           siteroot/static/$1 [L]

RewriteCond     %{REQUEST_URI}          !^.*/?static/.*$
RewriteRule     ^(.*)$          main.php

dit werkt bijvoorbeeld goed (hoewel ik dit ook zonder RewriteCond aan de gang heb gehad, maar dat lukt nu ook niet meer :?) anyhow; dit werkt, maar dit geeft de vrijheid niet dat het overal in de tree gebruikt mag worden.

code:
1
2
3
RewriteRule    ^(.*)static/(.*)$       siteroot/$1static/$2    [L]
RewriteCond     %{REQUEST_URI}          !^.*/?static/.*$
RewriteRule     ^(.*)$          main.php

hoemee zou dat wel moeten lukken, maar deze looped...

  • ebas
  • Registratie: Maart 2001
  • Laatst online: 20-04-2017
ik weet weer hoe ik het eerst had :) iets eenvoudiger:
RewriteRule !^static/(.*)$ - [C]

Maar dat werkt nu niet meer; dus die RewriteCond is nu idd wel nodig.. Maar dan nog weet ik niet hoe ik dat nou voor elkaar moet krijgen. Ik ga verder klooien..

  • Eegee
  • Registratie: Januari 2000
  • Laatst online: 22-08 17:13
Wat gebeurt er als je de RewriteCond bovenaan zet, de reguliere expressie van de eerste RewriteRule in de RewriteCond gebruikt (maar dan met een ! ervoor) en dan de eerste RewriteRule weghaalt?

[ Voor 8% gewijzigd door Eegee op 22-03-2003 20:08 ]


  • ebas
  • Registratie: Maart 2001
  • Laatst online: 20-04-2017
Dat werkt denk ik ook niet; want hij moet wel rewriten (siteroot/ ervoor)

code:
1
2
3
4
5
RewriteCond     %{REQUEST_URI}          !^.*siteroot/.*$
RewriteRule     ^(.*)/?static/(.*)$     siteroot/$1static/$2    [L]

RewriteCond     %{REQUEST_URI}          !^.*/?static/.*$
RewriteRule     ^(.*)$          main.php


Dit werkt wel

dank voor de hulp iig!
Pagina: 1