Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[mod_rewrite] Niet redirecten als directory al bestaat

Pagina: 1
Acties:

Verwijderd

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: 24-11 10:37
Google eens op RewriteCond. Dat zal je een eind in de richting moeten helpen.

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

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.


Verwijderd

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 Verwijderd op 24-06-2011 15:05 ]


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Verwijderd 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.


Verwijderd

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: 21-11 13:28

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


Verwijderd

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.

Verwijderd

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: 20-11 11:59

NMe

Quia Ego Sic Dico.

Verwijderd 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.
Verwijderd 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.


Verwijderd

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: 20-11 11:59

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