Conditionele rewrite door variabele base url

Pagina: 1
Acties:

  • mithras
  • Registratie: Maart 2003
  • Niet online
Inleiding
In mijn cms gebruik ik urls als http://site.nl/dit/is/een/pagina. Ik ga meertaligheid implementeren en wil daarbij urls gaan gebruiken als http://site.nl/nl/dit/is/een/pagina en http://site.nl/en/dit/is/een/pagina.

Omdat ik in de teksten de verwijzingen naar een pagina wel met de juiste taal wil laten verlopen, kies ik voor een variabele <base>. Ik verwijs alle interne url's relatief ("/dit/is/een/pagina"). En laat afhankelijk van de taal de <base> zetten:Omdat ik ook allerlei media bestanden (plaatjes, js script, etc) in de loop der tijd relatief heb gelinkt krijg ik nu een probleem. Er wordt gezocht naar http://site.nl/en/plaatje.jpg terwijl ik http://site.nl/plaatje.jpg bedoelde!

Probleem
Ik heb een .htaccess bestand:
code:
1
2
3
4
5
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

Ik wil hierbij ook controleren als ik het eerste gedeelte achter de url (bij http://site.nl/nl/dit/is/een/pagina dus "nl") weglaat, de url wel naar een bestaand bestand verwijst. Ik zoek een RewriteCond waarbij ik een tijdelijke url aanmaak (zonder "nl") en deze verifieer tegenover !-f en !-d. En vervolgens een RewriteRule uitvoer waarbij "nl" uit de url is weggelaten. Die RewriteRule lijkt mij als volgt:
code:
1
RewriteRule ^[A-Za-z]/(.*)$ $2 [L]
Maar hoe stel ik de conditie op? Heeft iemand een idee of kan me een duwtje in de juiste richting geven?

  • mithras
  • Registratie: Maart 2003
  • Niet online
*bump* niemand een idee? :'(

Verwijderd

Een RewriteRule lijkt me niet nodig. Bij site.nl/en/ de html base zetten op site.nl lijkt me voldoende.

  • mithras
  • Registratie: Maart 2003
  • Niet online
Snap je het probleem wat ik schets?

Het is een van de uitgangspunten om elke taal een eigen url te geven. Juist om teksten onderling correct te kunnen linken. Het gebruiken van een taalonafhankelijke base zorgt ervoor dat je bij elke nieuwe pagina terugspringt naar de standaardtaal, terwijl je misschien in een andere taal de website bekeek.

Je krijgt wel het plaatje goed te zien, maar je gaat hiermee anti-internationaliseren ;)

  • mithras
  • Registratie: Maart 2003
  • Niet online
*bump* niemand een idee? :'(