Toon posts:

[mod_rewrite] Niet redirecten als directory al bestaat

Pagina: 1
Acties:

Anoniem: 90613

Topicstarter
He mensen

Ik heb een .htaccess bestand:

code:
1
2
3
4
5
6
RewriteEngine On

RewriteRule ^(administrator/*) - [L]

RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?page=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ index.php?page=$1


Als ik naar /map/nogeenmap ga dan gaat ie in principe naar /map?page=nogeenmap.
Dat is mooi!

Maar als ik naar /map/administrator wil, dan wil ik ook dat ie daadwerkelijk daar naartoe gaat en niet de rewrite uitvoert. Het lukt me nu wel om er fysiek heen te gaan maar de url verandert dan naar /map/administrator/?page=administrator. Dat laatste is gek...moet niet.

Iemand?
Bedankt!

Maarten

  • Flowmo
  • Registratie: November 2002
  • Laatst online: 26-05 23:05
Google eens op RewriteCond. Dat zal je een eind in de richting moeten helpen.

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 22-05 17:03

NMe

Quia Ego Sic Dico.

Waar hoort mijn topic?

PRG>>WSS + titelfix.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Anoniem: 90613

Topicstarter
code:
1
2
3
4
5
RewriteEngine On

RewriteCond %{REQUEST_URI} !="/map/administrator"
RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?page=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ index.php?page=$1


Helpt dus geen zier.
als ik dus naar http://www.pagina.nl/map/administrator ga dan krijg ik
http://www.pagina.nl/map/administrator/?page=administrator

[EDIT]
trouwens, als ik naar http://www.pagina.nl/map/administrator/ ga dan gaat ie wel goed. Kortom, ik moet altijd met een / eindigen, anders gaat het dus fout. Of is dat normaal?

[Voor 21% gewijzigd door Anoniem: 90613 op 24-06-2011 15:05]


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 22-05 17:03

NMe

Quia Ego Sic Dico.

Anoniem: 90613 schreef op vrijdag 24 juni 2011 @ 15:01:
code:
1
2
3
4
5
RewriteEngine On

RewriteCond %{REQUEST_URI} !="/map/administrator"
RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?page=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ index.php?page=$1


Helpt dus geen zier.
Vind ik niet gek met die foute syntax.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Anoniem: 90613

Topicstarter
Ik vind het prima dat je zegt dat ik foute syntax heb, maar ik vraag het dus niet voor niets: ben een dikke noob als het gaat om htaccess. Daarnaast zit ik met een deadline dus duizend tutorials lezen van begin tot eind heb ik geen tijd voor dus ik lees alles topdown. Hopelikj zie je het zitten te wijzen naar de syntaxfout.

Maarten

  • KatirZan
  • Registratie: September 2001
  • Laatst online: 19:36

KatirZan

Wandelende orgaanzak

dat je met een / moet eindigen is wel normaal ja, tenzij je een rewrite er tussen zet die /map/administrator en /map/administrator/ omzet naar /map/administrator/

Wabbawabbawabbawabba


Anoniem: 262801

code:
1
RewriteCond %{REQUEST_FILENAME} !-d


Dat checkt als het goed is voor elke bestaande directory, het is natuurlijk ook mogelijk om het alleen voor 'administrator' te doen maar dat weet ik zo even niet uit m'n hoofd.

Anoniem: 90613

Topicstarter
Alles wat is voorgesteld werkt niet. Ik heb nu dit en het werkt nog steeds, uitsluitend als ik met een / eindig:

code:
1
2
3
4
RewriteEngine On

RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?page=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ index.php?page=$1


Hierbij heb ik dus:

ik vul in:
http://www.pagina.nl/map/forgot

dan gaat ie in feite naar:
http://www.pagina.nl/map?page=forgot
(maar hij blijft wel de bovenste url laten zien zodat het lijkt alsof je in de map forgot zit)

maar ga ik naar:
http://www.pagina.nl/map/administrator

dan gaat ie naar de map administrator, maar zie ik in de url:
http://www.pagina.nl/map/administrator/?page=administrator

Ik heb geen tijd om die regex en htaccess nu nog te leren. Kan iemand voor 1 keer gewoon de oplossing of uitleg geven? Ik wil niet dat ie er ?page=administrator achterplakt. Dat is stom.

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 22-05 17:03

NMe

Quia Ego Sic Dico.

Anoniem: 90613 schreef op vrijdag 24 juni 2011 @ 15:08:
Ik vind het prima dat je zegt dat ik foute syntax heb, maar ik vraag het dus niet voor niets: ben een dikke noob als het gaat om htaccess. Daarnaast zit ik met een deadline dus duizend tutorials lezen van begin tot eind heb ik geen tijd voor dus ik lees alles topdown. Hopelikj zie je het zitten te wijzen naar de syntaxfout.

Maarten
Je hoeft geen duizend tutorials te lezen, eentje is genoeg om te zien dat != geen plaats heeft in een RewriteCond. Blijkbaar heb ik dat mis.
Anoniem: 90613 schreef op vrijdag 24 juni 2011 @ 15:27:
Alles wat is voorgesteld werkt niet. Ik heb nu dit en het werkt nog steeds, uitsluitend als ik met een / eindig:

code:
1
2
3
4
RewriteEngine On

RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?page=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ index.php?page=$1
Om te beginnen kun je die twee regels samenvoegen in dit:
code:
1
RewriteRule ^([a-zA-Z0-9_-]+)/?$ index.php?page=$1

Verder werk ik hem dan wel voor je uit.
code:
1
2
3
4
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-zA-Z0-9_-]+)/?$ index.php?page=$1 [L]

[Voor 38% gewijzigd door NMe op 24-06-2011 16:16]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Anoniem: 90613

Topicstarter
Wat is dit dan?
Of lees ik iets schaamteloos verkeerd. Kan ook hoor...maar ja, ze moedigen toch iets aan.

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 22-05 17:03

NMe

Quia Ego Sic Dico.

Mja, maar dan wel zo:
or usingRewriteCond {REQUEST_URI} !=/foo/bar instead of

RewriteCond %{REQUEST_URI} !^/foo/bar$
Al moet ik eerlijk bekennen dat ik die syntax niet kende. Stiekem heb je hem ook niet nodig en is wat ik hierboven schreef veel robuuster en meer future proof. Wat doet die?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee