login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Mod_rewrite met meerdere submappen en talen

Offline Fiona - 17/04/2007 16:33
Avatar van FionaLid Ik zit met de volgende situatie: Mijn site is meertalig, heeft meerdere fysieke submappen met veel verschillende pagina's.
Ik wil graag vriendelijke URLs hebben met behulp van mod_rewrite. Ik heb als test een .htaccess-bestand in een submap gezet en van de pagina's in de betreffende map de URLs aangepast. Dat werkt prima! Echter lees ik op het net dat het beter is om een .htaccess bestand in de root te zetten.

Met de .htaccess in een submap krijg ik de volgende url:
www.domeinnaam.com/submap1/nl/pagina/3/blabla/ (verwijst naar www.domeinnaam.com/submap1/pagina.php?taal=nl&id=3)

Ik wil het graag zo zien: www.domeinnaam.com/nl/submap1/pagina/3/blabla/

Dan zal de .htaccess waarschijnlijk toch in de root moeten staan? Als ik dat toepas, wordt de lijst met de te wijzigen urls wel heel lang en, op de manier zoals ik het doe, werkt het niet.

Ik zit niet achter mijn eigen pc, dus ik kan de code niet geven. Het is nu (in de submap) iets in de richting van:
  1. RewriteRule ^([az]+)/pagina/([0-9]+)/([az]+)/ pagina.php?taal=$1&id=$2


Kort samengevat: ik weet niet hoe ik de taal vóór een submap moet zetten.

Hoe kan ik dit het beste aanpakken? Daarbij ook rekening houdend met de vele pagina's en dus veel regels.
Ik heb me avondenlang suf gezocht op het net, dus ik hoop dat jullie me kunnen helpen.

9 antwoorden

Gesponsorde links
Offline ikkedikke - 17/04/2007 19:24 (laatste wijziging 17/04/2007 19:35)
Avatar van ikkedikke PHP expert volstaat
  1. RewriteRule ^([az]+)/([az]+)/([0-9]+)/([az]+)/ /$2.php?taal=$1&id=$3

niet?

Citaat:
edit stijn1989:
code tags gelden ook voor 1 regel code!
Offline bertmelis - 17/04/2007 19:28 (laatste wijziging 17/04/2007 19:36)
Avatar van bertmelis PHP interesse Toevallig al achter uw pc?

Als uw .htaccess in de root staat, denk ik dat het iets in deze richting moet zijn:

  1. RewriteRule ^([a-z0-9]+)/([az]+)/pagina/([0-9]+)/([az]+)/ pagina.php?submap=$1&taal=$2&id=$3


Citaat:
edit stijn1989:
code tags gelden ook voor 1 regel code (nummer 2)!


die blabla die je achteraan nog hebt gezet staat dan in $4 zeker?

PS ik heb niets getest, en mijn regex-kennis is roestig!
Offline timo - 17/04/2007 20:16
Avatar van timo PHP ver gevorderde
  1. RewriteRule ^([az]+)/([az]+)/pagina/([0-9]+)/([az]+)/ $2/pagina.php?taal=$1&id=$2

zou het moeten doen
Offline Fiona - 18/04/2007 10:06 (laatste wijziging 18/04/2007 10:09)
Avatar van Fiona Lid Bedankt! Na het bericht van bertmelis was ik er zelf al achtergekomen. 

Ik stuit op een volgend probleem. De afbeeldingen doen het niet meer. De links wel. Dit heb ik tussen de head-tags:
  1. <base href="http://www.domeinnaam.com/<?php echo $_GET['taal']; ?>/submap1/" />


Tsja, enigzins wel logisch dat het dan niet meer werkt.

Dit heb ik daarna in het .htaccess-bestand gezet:
  1. RewriteRule !\.(gif|jpg|png|css|js)$


Dan krijg ik een Internal Server Error. Iemand een idee hoe het wel moet?

Citaat:
die blabla die je achteraan nog hebt gezet staat dan in $4 zeker?

Nee, dat is de titel die bij het ID hoort: www.domeinnaam.com/nieuws/3/dit-is-het-derde-item/
Offline ikkedikke - 18/04/2007 16:08
Avatar van ikkedikke PHP expert moet het niet rewriteCond zijn ipv rewriteRule?
Offline timo - 18/04/2007 16:42
Avatar van timo PHP ver gevorderde zet er
  1. RewriteEngine On
boven.. als je dan nog een Internal Server Error krijgt moet je even in je httpd.conf kijken of de module mod_rewrite wel enabled is..
Offline Fiona - 19/04/2007 08:26 (laatste wijziging 19/04/2007 08:39)
Avatar van Fiona Lid @Timo: Ik neem aan van wel, want de vriendelijke urls werken immers.  "RewriteEngine on" staat al bovenaan.

@ikkedikke: Geprobeerd, maar het werkt niet.
Offline Thomas - 19/04/2007 08:59
Avatar van Thomas Moderator Als je nu eens je base href de root van je site maakt (<base href="http://www.domeinnaam.com/" />) dan kun je op elk moment nog besluiten of een item taal-afhankelijk is of niet.

Plaatjes lijken mij niet taal-afhankelijk (tenzij hier teksten in staan), dus deze zou je in principe niet naar alle taal-folders hoeven te kopiëren?
Offline Fiona - 19/04/2007 11:45
Avatar van Fiona Lid
Dat zou dan betekenen dat voor alle links "taal/submap/" moet komen staan?
Het moet via .htaccess toch mogelijk zijn om bepaalde extensies te 'excluden'?
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.255s