RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !www.jouwsite.nl$ [NC]
RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+).jouwsite.nl [NC]
RewriteRule (.*) /cat/%2/$1 [L]
Blanche een uitleg zou prettig zijn. Kan er geen kaas van bakken.
Zie op het eerste gezicht geen connectie tot mijn vraag.

Zoek een oplossing en ja ik heb al vele uren naar voorbeelden gekeken, maar niet kunnen vinden.
Het is een toepassing van een stukje mod rewrite, maar goed een uitleg van de verschillende regels:

De eerste twee regels zullen je bekend voorkomen, dus daar ga ik niets over zeggen. De eerste RewriteCond controleert of je site niet gewoon via www.jouwsite.nl bezocht wordt. In dat geval moet er namelijk niets gedaan worden. De tweede RewriteCond kijkt of er een subdomein opgegeven is en matched dat gedeelte.

De %2 in de RewriteRule is het gedeelte dat in de RewriteCond gematched werd (de naam van je subdomein dus) en de $1 is het gedeelte dat achter de RewriteBase stond. Je zult deze regel dus zelf nog even aan moeten passen zodat de subdomeinnaam op de goede plaats in de url komt te staan. (Ik heb hem nu even aangepast zoals ik denk dat hij zou kunnen zijn).
Blanche, hiermee is wel het 301 (move permanently) verdwenen. Zoekmachine technisch niet zo goed...
Voor zover ik weet kun je geen 301 en een "onzichtbare rewrite" tegelijkertijd doen.
PHP Newbie schreef op 07.01.2009 17:50
Blanche, hiermee is wel het 301 (move permanently) verdwenen. Zoekmachine technisch niet zo goed...
De TS geeft nergens te kennen dat dat de bedoeling is, of zie ik het verkeerd?
Nope, de R flag zorgt altijd voor een zichtbare redirect. Dus dat kan onmogelijk onzichtbaar worden...
Met de feitelijke urls krijg ik niets te zien. Sorry ben zelf hierin een leek.
Het volgende heb ik ingevoerd;

RewriteCond %{HTTP_HOST} !www.orime.nl$ [NC]
RewriteCond %{HTTP_HOST} ^airco.orime.nl [NC]
RewriteRule (.*) /cat/%2/$1/70/Klimaat.html [L]

Heb de volgende vragen:
1) de 2de Conditie heb ik niet willekeurig gemaakt maar definitief immers er zijn meerdere subdomains. Klopt deze stellingname of moet ik jouw voorbeeldregel toepassen %{HTTP_HOST} ^(www.)?([a-z0-9-]+)orime.nl [NC]
2) de juiste redirect gebeurt naar
http://www.orime.nl/index.php/cat/70/Klimaat.html
voor airco.orime.nl. Hoe schrijf ik nu die RewriteRule?
Jouw oplossing kan volgens mij niet omdat er vars binnen de constante worden geplaatst. Volgens mij zou het dan
RewriteRule (.*) /%2/$1/cat/70/Klimaat.html [L]
Als ik het goed begrijp wil je dus handmatig instellen dat airco.orime.nl naar die url verwijst? Doe dat dan zo:

RewriteCond %{HTTP_HOST} ^airco.orime.nl [NC]
RewriteRule ^(.*)$ /index.php/cat/70/Klimaat.html [L]

Maar goed, dan heb je dus het hele dynamische eruit gehaald en zul je voor elk 'subdomein' zo'n regel aan moeten maken...

Reageren