Toon posts:

[APACHE] mod_rewrite verandert ook relatieve URL's

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

Ik hoop dat jullie mij hiermee kunnen helpen en hoop dat ik het in het goede forum plaats.

Ik heb dus een mod_rewrite (.htaccess) document gemaakt die overigens wel functioneert maar niet helemaal zoals ik wil:

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteRule ^artikel/(.*)\.html?$ /artikel.php?ArticleID=$1 [L,QSA]
</IfModule>

Want zodra je dus http://domein.nl/artikel/11625.html invoert dan krijg je wel de pagina maar ook met andere relatieve url's en krijg je bijvoorbeeld een a href die wijst naar artikel/index.php i.p.v. gewoon index.php.

Ik heb al geprobeerd een RewriteCond toe te voegen:

%{QUERY_STRING} ^artikel.php?ArticleID=(.*)$

EDIT: en deze ook:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

Maar bij de 1e werkte hij helemaal niet meer.
En bij de 2e geeft hij nog steeds hetzelfde. Logisch natuurlijk, omdat het gene wat wat hij omzet dus alleen /artikel/... geen bestaande directory of filename moet zijn.

De bedoeling is dus trouwens dat als iemand http://domein.nl/artikel/11625.html invoert dat hij dan hetzelfde te zien krijgt als iemand die artikel.php?ArticleID=11625 intikt. Alleen van het systeem krijgen ze dus nooit dat artikel.php?ArticleID=... te zien.

Ik hoop dat jullie het weten.

[ Voor 20% gewijzigd door Verwijderd op 25-06-2006 12:19 ]


  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Volgens mij mis je iets; Apache heeft niets te maken met het feit dat relatieve URL's anders worden; dit zit in je broncode. Ook is dat het hele idee van relatieve URL's he ;) Je moet dus een '' toevoegen aan je head-code; of de URL's absoluut maken om dit probleem op te lossen.

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Verwijderd

Topicstarter
Maar dat zou dus betekenen dat er niks aan te doen is. Het is dan toch raar dat je een regel opstelt dat je alleen http://domein.nl/artikel/11625.html wilt laten wijzen naar http://domein.nl/artikel.php?ArticleID=...
Dat je daarmee alle relatieve URL's zoals de home knop: <a href="index.php"> meteen mee omvormt tot <a href="artikel/index.php"> ?

Want als je alle urls absoluut moet maken verlies je daarmee het dynamische geheel plus het is veel werk om dat voor veel links te doen.

[ Voor 9% gewijzigd door Verwijderd op 25-06-2006 14:23 ]


  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Verwijderd schreef op zondag 25 juni 2006 @ 14:22:
Maar dat zou dus betekenen dat er niks aan te doen is. Het is dan toch raar dat je een regel opstelt dat je alleen http://domein.nl/artikel/11625.html wilt laten wijzen naar http://domein.nl/artikel.php?ArticleID=...
Dat je daarmee alle relatieve URL's zoals de home knop: <a href="index.php"> meteen mee omvormt tot <a href="artikel/index.php"> ?
Nope; nogmaals; relatief betekend dat je browser de links achter het huidige pad plakt. Aangezien jij het pad aanpast past je browser de URL's aan naar dat pad.
Want als je alle urls absoluut moet maken verlies je daarmee het dynamische geheel plus het is veel werk om dat voor veel links te doen.
Hoe kom je daarbij? Maak van index.php gewoon /index.php of zet een [NOHTML]<base href="/">[/] neer in je head; zoals ik al eerder zei

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Verwijderd

Topicstarter
Sorry jah dat werkt idd. Als ik namelijk denk aan absolute url's dan denk ik aan http://domein.nl/bestand.php

Maar jouw truuk werkt idd. Bedankt! :)

Overigens dat ik de / moest toevoegen in de links was me de eerste reactie nog niet duidelijk geworden.

EDIT: Alleen jammer dat de base href niet werkt :/

[ Voor 13% gewijzigd door Verwijderd op 25-06-2006 15:27 ]


  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Verwijderd schreef op zondag 25 juni 2006 @ 15:11:
[...]

EDIT: Alleen jammer dat de base href niet werkt :/
Heb je ook base-href = http://domein/ geprobeerd? Ik meen dat je wel die syntax moest gebruiken om deze te laten valideren :)

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Verwijderd

Topicstarter
Jah klopt had ik ook geprobeerd.

Maar goed ik kwam erachter dat artikel.php een kopie van mijn index.php had. Niet slim dus
maar heb het daar nu gezet en nou werkt hij dus. :P

Dank voor de hulp _/-\o_
Pagina: 1