Scholieren.com forum

Scholieren.com forum (https://forum.scholieren.com/index.php)
-   Software & Hardware (https://forum.scholieren.com/forumdisplay.php?f=20)
-   -   [Software] Apache: htaccess fun... (https://forum.scholieren.com/showthread.php?t=1157866)

Triloxigen 17-04-2005 20:25

[WEBDEV] htaccess fun...
 
Ik krijg iets niet voor elkaar met htaccess...

Er is een directory:
/default/

Daar moet alles uitkomen wat niet bestaat, maar niet via een redirect maar gewoon als werkende dir.

Dus /test/index.php (en mappen hoger) moeten uitkomen op /default/index.php

Uiteraard begin ik het htaccess bestand met
Code:

RewriteEngine On
En daarna heb ik al diverse dingen probeerd, maar niks werkt.

Code:

RewriteRule  ^/([^/]+)            /default
Code:

RewriteRule  ^/(.+)/    /default/
Code:

RewriteCond  /%{REQUEST_FILENAME} !-f
RewriteRule  ^(.+)                            /default/$1

Iemand hier toevallig iets meer ervaring mee..
Uiteraard heb ik de rewriteguide gelezen...


Edit: Het gaat om Apache2 webserver :)

eddie 17-04-2005 20:44

probeer eens index.php te zetten achter /default/ ...

Triloxigen 17-04-2005 20:46

Citaat:

eddie schreef op 17-04-2005 @ 21:44 :
probeer eens index.php te zetten achter /default/ ...
Werkt ook niet (had het al geprobeer)

Alle bestanden defnieren is trouwens een slecht plan, zijn er honderden ;)

eddie 17-04-2005 20:57

Volgens mod_rewrite geeft %REQUEST_FILENAME het volledige pad naar het bestand terug:
Citaat:

REQUEST_FILENAME
The full local filesystem path to the file or script matching the request.
Dus:
Code:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule  ^(.+) /default/index.php

zou naar mijn idee moeten werken.

Triloxigen 17-04-2005 21:45

hehe, nu werkt hij wel..
Ik had bij mijn versie de $ weg moeten laten ;)

Thanks ;)

Triloxigen 19-04-2005 23:01

Nee, werkt toch niet :(

Code:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule  ^(.+) /default/$1

Het probleem is dus $1, dat wil niet :(

eddie 20-04-2005 07:37

Citaat:

********** schreef op 20-04-2005 @ 00:01 :
Nee, werkt toch niet :(

Code:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule  ^(.+) /default/$1

Het probleem is dus $1, dat wil niet :(

Geen wonder, want je match alle karakters vanaf het begin van de request.

De request is bijvoorbeeld '/pad/bestaat/niet.html', dan wordt deze geredirect naar 'default/pad/bestaat/niet.html'. En dat bestaat ook niet :)

Lees je wat meer in in regexp's :)

Triloxigen 20-04-2005 12:02

Ohwjah...

Code:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule  ^([^/]+)/(.+)  /forum/$2

Meer zoiets, maar werkt dus ook niet.. :|
En heeft nu meer met htaccess dan met regexp te maken..

eddie 20-04-2005 13:03

Citaat:

********** schreef op 20-04-2005 @ 13:02 :
Ohwjah...

Code:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule  ^([^/]+)/(.+)  /forum/$2

Meer zoiets, maar werkt dus ook niet.. :|
En heeft nu meer met htaccess dan met regexp te maken..

Try this

Code:

RewriteRule  ^(\/.*\/)(.+)  /forum/$2
of
Code:

RewriteRule  ^(/.*/)(.+)  /forum/$2

Triloxigen 20-04-2005 14:45

Nope, die varianten had ik ook al geprobeerd :|

eddie 20-04-2005 15:04

\/(.*)\/(.*)

Triloxigen 20-04-2005 18:28

Nee :(

eddie 20-04-2005 18:36

Tja, dan wordt het een kwestie van domweg proberen :)
Laat je het wel even weten als wanneer het je gelukt is?

Triloxigen 20-04-2005 18:38

Ja, is goed..
Alleen.. ik ben dus al een tijdje domweg aan het proberen... :'(

Triloxigen 20-04-2005 19:45

Weet iemand anders niet een htaccess guru forum ofzo?

eddie 20-04-2005 20:17

je kan het ook gewoon eerst even simpel en snel proberen in bijvoorbeeld php hoor ;) RegExps zijn bijna overal hetzelfde :)

Triloxigen 20-04-2005 20:24

Ik snap wel waar je heen wilt..
Maar heb eigenlijk geen tijd om me er nu in te verdiepen..
Ik had ook verwacht dat het wel even zou werken zoals ik het wil, op zich is het niet echt spannend wat ik wil..
Maar het werkt gewoon weer niet :'(

eddie 20-04-2005 20:27

Ah:

Citaat:

Note: Never forget that Pattern is applied to a complete URL in per-server configuration files. But in per-directory configuration files, the per-directory prefix (which always is the same for a specific directory!) is automatically removed for the pattern matching and automatically added after the substitution has been done. This feature is essential for many sorts of rewriting, because without this prefix stripping you have to match the parent directory which is not always possible.
dus
^(.*)\/(.*)

moet wel werken.

Anders weet ik het ook niet meer :o

Triloxigen 20-04-2005 20:29

Code:

RewriteEngine On
RewriteRule ^(.*)\/(.*) /forum/$1

Code:

Internal Server Error
:'(

eddie 20-04-2005 20:32

Citaat:

********** schreef op 20-04-2005 @ 21:29 :
:'(

Muhahahaha! :evil: :p

Veel plezier ermee! :)

Triloxigen 20-04-2005 20:33

Hoe hard mag ik huilen?
Als dit niet werkt kan een project van 5 weken in de kast gezet worden :'(

eddie 20-04-2005 20:35

Tja... het zal vast wel gaan werken hoor. Maar als je weinig informatie geeft, krijg je er meestal ook weinig voor terug.


(je $1 moet volgens mij $2 zijn)

Triloxigen 20-04-2005 20:38

Ik wil je alle informatie geven die nodig is...
Maar ik kan me niet bedenken wat voor meer info je wilt :)

eddie 20-04-2005 20:48

Waarom wil je per se de bestandsnaam hebben? Je hebt immers al gecontroleerd of het bestand bestaat of niet, en indien niet, kun je gewoon zeggen
Code:

RewriteRule ^.* default/index.php
en in index.php de REQUEST_URI opvragen :)

Triloxigen 20-04-2005 20:55

Dat gaat helaas niet werken doordat er eenmaal een shitload aan bestanden zijn..
Van php bestanden tot css tot images..

eddie 21-04-2005 07:15

Ja en? Ik weet niet wat je wilt wanneer iemand een fout pad intikt. Je hebt al gecontroleerd of het bestand bestaat. Dan zou je een error page (404 Not Found) kunnen genereren. Maar ik weet dus niet wat je ermee wilt doen :)

Triloxigen 21-04-2005 11:57

Citaat:

eddie schreef op 21-04-2005 @ 08:15 :
Ja en? Ik weet niet wat je wilt wanneer iemand een fout pad intikt. Je hebt al gecontroleerd of het bestand bestaat. Dan zou je een error page (404 Not Found) kunnen genereren. Maar ik weet dus niet wat je ermee wilt doen :)
Ik wil gewoon een wildcard directory alias, dat is alles :p


Alle tijden zijn GMT +1. Het is nu 20:54.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.