url doorschakelen naar subsite

Status
Niet open voor verdere reacties.

kodro1

Gebruiker
Lid geworden
25 dec 2011
Berichten
79
Beste,

ik beheer de website van een vriend en heb een vraagje: hij heeft twee domeinnamen bij één webhost geregistreerd: één in het Nederlands (bvb. www.dutch.nl) en één in het Engels (bvb. www.english.nl)

Hij wil graag de Nederlandstalige versie op www.dutch.nl behouden en de www.english.nl laten doorlinken naar een Engelstalige versie. Ik kan in principe een subsite (bvb www.dutch.nl/en ) creëren (dus een nieuwe, Engelse Drupalsite + database met prefix en_). Mijn vraag is: kan ik dan de domeinnaam www.english.nl rechtstreeks naar die subsite te laten gaan zodat bezoekers van de english.nl op de Engelse site komen en bezoekers van dutch.nl op de Nederlandstalige? Blijkbaar kan ik dit door het bestand .htaccess aan te passen? Maar ik weet absoluut niet hoe, ben een newbie daarin. Alle hulp is daarom welkom, alvast bedankt!
 
Je hebt het over .htaccess, dus betekent dat dat je gebruik maakt van apache webserver (heb ik overigens geen ervaring mee)? Je kan dit ook al op de dns-server (waar je het domein host) afvangen via een web-forward, waarbij www.english.nl wordt geforward naar www.dutch.nl/en
 
Wanneer die websites naar dezelfde host verwijzen kun je ze afvangen door een .htaccess inderdaad.

Dat kun je doen door gebruik te maken van een RedirectRule: meer informatie
 
Beste Tha Devil,

bedankt voor je hulp (Arjan ook)
Helaas, zoals gezegd: ik ben een leek op het gebied van die .htaccess

Welke rule moet ik dan precies gebruiken? En die nieuwe regel moet in de .htaccess file in mijn root / hoofdmap (bvb. www.dutch.nl) toegevoegd worden?

Nogmaals dank!
 
Je domeinen verwijzen naar de rootmap van je pakket, dus daar zul je de .htaccess ook moeten aanmaken (waarschijnlijk aanpassen aangezien je Drupal gebruikt)

Je wilt iets uitvoeren wanneer het domein "english.nl" is, dat is je conditie. Het is een reguliere expressie die matcht of de hostnaam gelijk is aan alles met english.nl er voor.
Code:
RewriteCond %{HTTP_HOST} ^(.*)english.nl$ [NC]
Dan is het daarna zaak een actie aan de conditie te verbinden.
Wil je doorsturen dan gebruik je een RedirectRule, wil je het domein gebruiken voor je url dan heb je een ProxyPass nodig.

ProxyPass heeft alleen als nadeel dat het moeilijk met formulieren overweg gaat.

Wellicht is het zelfs handiger voor jou om te kijken of er binnen Drupal geen internationaliseringsmogelijkheden zijn (zoekterm: i18n) dat is uiteraard afhankelijk van wat je wilt. Als je echt een volledig andere website wilt draaien dan is een nieuwe installatie inderdaad beter.
 
sorry als ik domme vragen stel of hierover blijf doorgaan, maar zoals gezegd: ik ken niks van htaccess, noch van php

Heb die conditie en redirectrule actie geprobeerd maar zonder succes.

Dit staat nu in m'n htaccess file maar ook dat lukt blijkbaar niet:


# Redirect rule
<
Redirect english.nl/ http://www.dutch.nl/en/
>

Kan iemand me de volledige regels voor die htaccess file geven aub?
En zal het dan ook lukken om bvb de url www.english.nl/products te linken aan www.dutch.nl/en/products ?
Momenteel zegt hij dan: page not found, terwijl die www.dutch.nl/en/products pagina wel bestaat.

Nogmaals dank!
 
Laatst bewerkt:
Code:
RewriteCond %{HTTP_HOST} ^english.nl$
RewriteRule ^\/products$ http://www.dutch.nl/en/products [R=301,L]

Deze regel zorgt er voor dat english.nl/products doorgestuurd wordt met HTTP/301 naar http://www.dutch.nl/en/products
 
bedankt Tha Devil, maar dit lukt nog steeds niet :-(
ik vraag me af of ik iets verkeerd doe in die htaccess? volstaat het om gewoon die twee regeltjes code toe te voegen? Ik bedoel: niks ervoor of niks erachter?
en het is eender waar ik die twee regels plaats in het bestand?
 
Code:
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^english.nl$
    RewriteRule ^\/products$ http://www.dutch.nl/en/products [R=301,L]
</IfModule>

Echter wanneer mod_rewrite niet op je webserver is geconfigureerd gaat het niet werken.
 
Laatst bewerkt:
Nee, dat moet je hostingpartij inschakelen.

Je kunt het eventueel via phpinfo() zelf opzoeken.

Kwestie van een PHP-bestand maken met deze inhoud:

PHP:
<?php
phpinfo();
 
Beste Tha Devil,

ik heb m'n host aangeschreven en dit gevraagd. mod_rewrite staat altijd aan op hun servers. Ik heb de module geactiveerd door de regel ‘RewriteEngine On’ op te nemen in het .htaccess bestand:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^english.nl$
RewriteRule ^\/products$ http://www.dutch.nl/en/products [R=301,L]

Nog steeds zonder succes :(

stilaan wanhopig aan 't worden, want ik denk dat het iets simpel is om het te doen lukken
 
kan ik mijn volledige .htaccess file bezorgen aan iemand voor nazicht?
 
is ondertussen gelukt, met deze code:

RewriteEngine on
RewriteCond %{HTTP_HOST} english\.nl$ [NC]
RewriteCond %{REQUEST_URI} ^/products$ [NC]
RewriteRule ^.*$ http://www.dutch.nl/en/products$1 [L]

bedankt iedereen
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan