[apache] mod_rewrite krijg ik niet correct aan de gang

Pagina: 1
Acties:

  • anonimoes
  • Registratie: Maart 2001
  • Laatst online: 11-11-2024

anonimoes

Zomerweer is ook maar relatief

Topicstarter
Momenteel ben ik bezig een vrij simpele site te maken om me wat te oefenen met mod_rewrite. De site moet benaderbaar zijn onder url's als /artikelen/12200/hoe_maak_je_een_site.html. SEO zoals het hier op T.net ook gebeurd dus. Nu heeft de site een zelfgebouwd cms in de map "backend" en deze map wil ik ook benaderbaar maken onder de url "achterkant/"

Op de achterkant hoeft vervolgens geen rewriting meer plaats te vinden. De voorkant krijgt door welke "mappen" er aangevraagd werden en gaat op basis daarvan bepalen welke content er getoond gaat worden.

Ik krijg het echter niet voor elkaar om op de map "backend" geen rewriting plaats te laten vinden. Dit gaat alleen goed als ik de rewriterule voor de basissite wegcomment. Hieronder mijn .htaccess:

code:
1
2
3
4
5
6
7
8
9
RewriteEngine on
RewriteBase /dfa

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond ^.* !^(backend/|images/|styles/|favicon\.ico|robots\.txt)

RewriteRule ^achterkant/(.*) backend/$1 [L,NC,QSA]

RewriteRule ^(.*) index.php?arguments=$1 [L,NC,QSA]


Momenteel staat de site op een testservertje van mezelf in de map dfa/ vandaar regel 2.
Met regel 4 probeer ik te voorkomen dat als er een bestaand bestand opgevraagd wordt er aan rewriting gedaan wordt.
Regel 5 zou de genoemde mappen en bestanden moeten uitsluiten van rewriting.
Regel 7 moet "achterkant" naar "backend" rewriten en dat werkt ook. Probleem is dat de [L] flag in een per directory context niet werkt heb ik inmiddels begrepen uit de apache doc's. De rewriting begint dan weer gewoon opnieuw met de herschreven url...
Regel negen moet in de overige gevallen regelen dat alle aanvragen bij index.php terechtkomen. Dit werkt ook prima. Index.php krijgt als argument mee welke mappen er aangevraagd werden.

Als ik nu "achterkant/" aanvraag dan krijg ik index.php?arguments=backend/ te zien wat dus ondersteund dat de [L] flag in regel 7 niet lekker werkt. Wat ik dan echter niet begrijp is waarom regel 5 het rewriten niet stopt als de url voor de tweede keer langskomt in de vorm van "backend/"?

Ik kan nu alleen bij "backend/" als ik regel 9 outcomment...

Ik heb de apache doc's over mod_rewrite inmiddels flink doorgelezen maar wordt hier niet veel wijzer van. Afgaande op een aantal van die "beginner guides to mod_rewrite" die je kan vinden zou mijn voorgaande voorbeeld moeten werken volgens mij. Ik kom er alleen maar niet achter waarom dat niet het geval is.

Heeft iemand een idee hoe ik dit op kan lossen? Denk ik de verkeerde kant op of heb ik de verkeerde internetbronnen gelezen? Kan iemand mij op het goede spoor zetten?

Gemberthee: water met een smaakje.


  • anonimoes
  • Registratie: Maart 2001
  • Laatst online: 11-11-2024

anonimoes

Zomerweer is ook maar relatief

Topicstarter
Niemand een idee?

Gemberthee: water met een smaakje.


  • whoami
  • Registratie: December 2000
  • Laatst online: 20:37
Dit is in ieder geval geen SEA

-> PRG

https://fgheysels.github.io/


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
whoami schreef op donderdag 02 oktober 2008 @ 00:03:
Dit is in ieder geval geen SEA

-> PRG
En ook geen PRG ;)
Waar hoort mijn topic?

PRG >> WSS

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • anonimoes
  • Registratie: Maart 2001
  • Laatst online: 11-11-2024

anonimoes

Zomerweer is ook maar relatief

Topicstarter
Oke, excuses voor het openen in het verkeerde forum. Heb er wel echt naar gekeken maar heb dit forum waarschijnlijk niet overwogen omdat de naam met "windows" begon ofzo... :?

Anyhow: Nu hij dan in het goede forum staat: Iemand een idee?

Gemberthee: water met een smaakje.


  • anonimoes
  • Registratie: Maart 2001
  • Laatst online: 11-11-2024

anonimoes

Zomerweer is ook maar relatief

Topicstarter
Ehm, ik weet niet wat het beleid is op meervoudig "schoppen" van een topic maar ik zou toch graag nog één keer willen zien of er wellicht iemand is die een idee heeft waar mijn probleem mee te maken heeft... Er lopen hier toch vast wel mensen rond die verstand hebben van mod_rewrite?

Mocht er nou drie dagen na deze post nog steeds geen reactie zijn dan mag dit topic wat mij betreft dicht.

Gemberthee: water met een smaakje.


  • Kalentum
  • Registratie: Juni 2004
  • Laatst online: 21:45
Volgens de apache docs test -f alleen of iets een gewone file is, waarbij dus een directory geen gewone file is. Probeer eens het rewriten te stoppen als iets een file is en een directory:

code:
1
2
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

  • anonimoes
  • Registratie: Maart 2001
  • Laatst online: 11-11-2024

anonimoes

Zomerweer is ook maar relatief

Topicstarter
rutgerw schreef op dinsdag 07 oktober 2008 @ 21:34:
Volgens de apache docs test -f alleen of iets een gewone file is, waarbij dus een directory geen gewone file is. Probeer eens het rewriten te stoppen als iets een file is en een directory:

code:
1
2
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
Klopt, ik heb het geprobeerd maar dit werkt helaas niet... Ook de regel betreffende bestanden werkt niet want bijvoorbeeld stylesheets en afbeeldingen worden ook niet gevonden als ik rewriting inschakel...

Gemberthee: water met een smaakje.


  • anonimoes
  • Registratie: Maart 2001
  • Laatst online: 11-11-2024

anonimoes

Zomerweer is ook maar relatief

Topicstarter
Inmiddels heb ik via een ander forum nog antwoord op mijn vraag kunnen krijgen. Ik dacht dat conditions voor alle daaropvolgende rules golden, blijkt dat ze alleen voor de regel die er meteen op volgt gelden en dat was mijn probleem in dezen.

Gemberthee: water met een smaakje.

Pagina: 1