Hoi allen,
Op een aantal gebieden riekt mijn kennis niet ver. Een daarvan is HTACCESS. Ik ben op zoek naar een stukje code dat ik niet kant-en-klaar kan vinden, en vraag mij af of iemand die wel over de kennis beschikt dit voor mij zou kunnen schrijven. Het gaat om een standaard, in mijn ogen vrij simpel, stukje code.
Ik ben een website aan het ontwikkelen en ben bezig met een onderdeel dat ik voorheen nog nooit zelf heb geschreven. Standaard is deze site te bereiken op zowel een http- als https-omgeving en is de site bereikbaar met en zonder 'www'. Deze website heeft ook subdomeinen.
Nu wil ik het volgende:
- Een URL is zo opgebouwd: /taal/paginatitel/var1/var2/var3/var4/var5.html of /taal/paginatitel.html. De laatste variabele eindigt met .html, en het eerste segment bevat altijd de taal.
- Deze URL moet als volgt worden vertaald: ?lang=taal&page=paginatitel&var[0]=var1&var[1]=var2... De dikgedrukte cijfers hoeven niet persé meegegeven te worden, maar dit zou wel fijn zijn.
- Een aantal urls moet worden uitgesloten van deze behandeling. Het gaat dan om bijvoorbeeld /images, /client enzovoorts. Ik wil deze zelf kunnen toevoegen.
- Standaard moeten subdomeinen ook deze behandeling ondergaan, maar als het niet te moeilijk is zou het fijn zijn bepaalde subdomeinen ook uit te sluiten. Dit is echter niet noodzakelijk.
- Wat betreft een 404-pagina: het liefst moet de gebruiker taalgericht worden doorgestuurd. Als een gebruiker dus naar /nl/ietswatnietbestaat.html gaat, moet deze worden verwezen naar /nl/404.html. Hetzelfde geldt voor /en, /fr en alle andere talen. Wanneer een gebruiker naar /nietbestaandemap/pagina.html gaat moet deze naar de standaard taal worden verwezen. In dit geval voldoet /404.html - de rest vang ik af aan de server-kant.
Ik hoop dat 't iemand lukt.
Alvast bedankt voor het lezen en eventueel voor de genomen tijd en moeite.
Groeten,
Gautam
- [htaccess] RewriteEngine verzoek
-
30-05-2011, 19:28 #1
- Berichten
- 375
- Lid sinds
- 18 Jaar
[htaccess] RewriteEngine verzoek
-
-
31-05-2011, 20:29 #2
- Berichten
- 1.899
- Lid sinds
- 18 Jaar
Re: [htaccess] RewriteEngine verzoek
Volgens mij kun je niet controleren met htaccess hoeveel variabelen je hebt.. wat je wel kunt doen is bijvoorbeeld:
/taal/paginatitel/var1/var2/var3/var4/var5.html gebruiken in de zin van:
1e stuk: taal
2e stuk: paginatitel
3e stuk: alles na paginatitel maar voor .html
Dan krijg je dus
$_GET['taal'] = 'taal';
$_GET['title'] = 'paginatitel';
$_GET['vars'] = 'var1/var2/var3/var4/var5';
Vervolgens in je applicatie die vars laten exploden ($vars = explode("/", $_GET['vars']);) dat levert je dan $vars[0], $vars[1], etc op. Het doorsturen gebaseerd op taal moet ook wel lukken via htaccess, als ik me niet vergis kun je per directory een 404 opgeven (en dus ook per 'fictieve' directory).
Hopelijk ben je hier wat mee geholpen.
-
31-05-2011, 20:41 #3
- Berichten
- 375
- Lid sinds
- 18 Jaar
Re: [htaccess] RewriteEngine verzoek
Joshua, bedankt. De door jou beschreven methode om de variabelen af te vangen vind ik ook goed - de afhandeling met PHP moet deels nog geschreven worden. Desalniettemin ben ik op zoek naar de htaccess-code :)
Iemand?
-
31-05-2011, 20:58 #4
- Berichten
- 1.899
- Lid sinds
- 18 Jaar
Re: [htaccess] RewriteEngine verzoek
1) Basis HTACCESS:
<IfModule mod_rewrite.c>
RewriteEngine on
# Eventueel kun je hier een map plaatsen als je in een subdir zit
RewriteBase /
</IfModule>
2) Uitsluiten van directories:
RewriteCond %{REQUEST_URI} "/images/" [OR]
RewriteCond %{REQUEST_URI} "/clients/"
RewriteRule (.*) $1 [L]
3) Doorsturen van de parameters:
RewriteRule ^([a-zA-Z]+)/([a-zA-Z0-9_-]+)/(.*?).html$ index.php?lang=$1&page=$2&vars=$3 [L]
De andere blijf ik je even schuldig..
-
01-06-2011, 11:49 #5
- Berichten
- 375
- Lid sinds
- 18 Jaar
Re: [htaccess] RewriteEngine verzoek
Met een kleine aanpassing werkt het perfect. Een link als '/nl/pagina.html' deed het nog niet, maar je laatste regel kopieren, plakken en aanpassen heeft dat opgelost. Hartstikke bedankt!
-
01-06-2011, 13:43 #6
- Berichten
- 1.899
- Lid sinds
- 18 Jaar
Re: [htaccess] RewriteEngine verzoek
Graag gedaan.
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic