Toon posts:

[htaccess] rewrite probleem

Pagina: 1
Acties:

Verwijderd

Topicstarter
Het volgende probleem:

Ik gebruik htaccess mod_rewrite om 'virtual hosts' te maken dmv:

RewriteCond %{HTTP_HOST} url.nlx$
RewriteCond %{REQUEST_URI} !^/directoryOpServer/.*
RewriteRule (.*) /directoryOpServer/$1

Dit doet het volgende. Als HTTP_HOST url.nlx bevat EN de huidige aangeroepen pagina is anders dan de directory op de server (anders oneindige loop)
Dan herschrijft hij het naar die dir met de parameters erachter.

Probleem is nu wanneer er in een URL bij een directory de / weg gelaten wordt

Dus:
url.nlx/eenSubDirectory

Dat apache zelf gaat kijken of 'eenSubDirectory' een bestand of een dir is. Wanneer het een dir is herschrijft hij het zelf naar
hethoofddomein.nlx/directoryOpServer/eenSubdirectory/

maar dan wordt dus het hoofddomein van de server zichtbaar en dat wil ik niet.

(volgen we het nog?) Heeft iemand een oplossing om dit te verhelpen in de htaccess file? of misschien is dit automatisch herschrijven van apache uit te schakelen voor bepaalde directory's?

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Volgens mij komt dat doordat de hostname niet goed gaat dan.
Een url zonder / is niet "geldig" als het geen file is, dan plakt redirect apache je naar "servername/file/die/je/wilde/" en daar zal het mis gaan.

Hoe dat op te lossen?
Ik denk alleen door echte virtualhosts te gebruiken, als je te veel virtual host entries zou moeten maken dan, kijk dan es op www.apache.org in de documenatie bij mass-virtualhosting.

Verwijderd

Topicstarter
ACM schreef op 09 augustus 2002 @ 13:53:
Volgens mij komt dat doordat de hostname niet goed gaat dan.
Een url zonder / is niet "geldig" als het geen file is, dan plakt redirect apache je naar "servername/file/die/je/wilde/" en daar zal het mis gaan.
jep daar gaat het dus ook mis :+
maar ik d8, misschien kan ik die redirect afvangen? of ook herschrijven?

Verwijderd

als ik het goed begrijp dan redirect jouw apache de bezoeker die een / vergeet in te tikken bij een directory, automatisch door naar de juiste plek door er zelf een / achter te zetten. Dit kun je uitschakelen in httpd.conf door UseCanonicalName te veranderen. Misschien dat dat je probleem oplost.

Verwijderd

Topicstarter
Verwijderd schreef op 09 augustus 2002 @ 13:56:
als ik het goed begrijp dan redirect jouw apache de bezoeker die een / vergeet in te tikken bij een directory, automatisch door naar de juiste plek door er zelf een / achter te zetten. Dit kun je uitschakelen in httpd.conf door UseCanonicalName te veranderen. Misschien dat dat je probleem oplost.
ik kan niet in de httpd.conf, anders had ik wel virualhosts aangemaakt :)
dit kan niet dmv htaccess he? Ik krijg iig een dikke foutmelding als ik

UseCanonicalName off
in .htaccess zet.

hmmz