onzichtbare rewrite van subdmain naar categorie
RewriteRule ^.*$ http://www.mijndomein.nl/cat/catname [L,R=301]
Maar nu wordt de redirect zichtbaar uitgevoerd .
Dus de url is nu http://www.mijndomein.nl/cat/catname
ipv http://kamp.mijndomein.nl/
Hoe kan ik nu de url zichtbaar laten als http://kamp.mijndomein.nl/ en feitelijk http://www.mijndomein.nl/cat/catname laten doen?
Code (php)
1
2
3
4
5
2
3
4
5
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]
RewriteBase /
RewriteCond %{HTTP_HOST} !www.jouwsite.nl$ [NC]
RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+).jouwsite.nl [NC]
RewriteRule (.*) /cat/%2/$1 [L]
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
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.
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:
De TS geeft nergens te kennen dat dat de bedoeling is, of zie ik het verkeerd?Blanche, hiermee is wel het 301 (move permanently) verdwenen. Zoekmachine technisch niet zo goed...
RewriteRule ^.*$ http://www.mijndomein.nl/cat/catname [L,R=301]
Dus het lijkt me van wel, maar weet het natuurlijk ook niet ;-)
Nope, de R flag zorgt altijd voor een zichtbare redirect. Dus dat kan onmogelijk onzichtbaar worden...
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]
Gewijzigd op 01/01/1970 01:00:00 door wildone
Code (php)
1
2
2
RewriteCond %{HTTP_HOST} ^airco.orime.nl [NC]
RewriteRule ^(.*)$ /index.php/cat/70/Klimaat.html [L]
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...
Maar echt begrijpen doe ik het niet.
Als je vele subdomains hebt die allemaal naar andere urls verwijzen dan moet je het systeem toch een handreiking geven wat te doen? Of kan dat met onderstaande voorbeelden toch dynamisch?
Voorbeelden:
http://airco.orime.nl -> http://www.orime.nl/index.php/cat/70/Klimaat.html
http://kachels.orime.nl -> http://www.orime.nl/index.php/cat/112/Kachels.html
http://polijsten.orime.nl -> http://www.orime.nl/index.php/cat/10/Polijsten.html
etc.