[mod_rewrite] Problemen met doorsturen van domeinen

Pagina: 1
Acties:

  • WiNlUx
  • Registratie: April 2002
  • Laatst online: 12-09-2023
Ik ben zojuist bezig met een website waarbij er meerdere domeinen zijn. Sommige domeinen moeten dan in de website zelf naar een specifiek product verwijzen, wat ik dan doe met rewrite regel in de htaccess.

De volgende code staat in de htaccess file:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
RewriteCond %{HTTP_HOST} ^www.hoofddomein.nl$ [OR]
RewriteCond %{HTTP_HOST} ^domein1.nl$ [OR]
RewriteCond %{HTTP_HOST} ^www.domein1.nl$ [OR]
RewriteCond %{HTTP_HOST} ^domein2.nl$ [OR]
RewriteCond %{HTTP_HOST} ^www.domein2.nl$ [OR]
RewriteCond %{HTTP_HOST} ^domein3.nl$ [OR]
RewriteCond %{HTTP_HOST} ^www.domein3.nl$ [OR]
RewriteCond %{HTTP_HOST} ^domein4.nl$ [OR]
RewriteCond %{HTTP_HOST} ^www.domein4.nl$ 
RewriteRule ^(.*)$ http://hoofddomein.nl/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^domein5.nl$ [OR]
RewriteCond %{HTTP_HOST} ^www.domein5.nl$ [OR]
RewriteCond %{HTTP_HOST} ^domein6.nl$ [OR]
RewriteCond %{HTTP_HOST} ^www.domein6.nl$
RewriteRule ^(.*)$ http://hoofddomein.nl/product/26/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^domein7.nl$ [OR]
RewriteCond %{HTTP_HOST} ^www.domein7.nl$ [OR]
RewriteCond %{HTTP_HOST} ^domein8.nl$ [OR]
RewriteCond %{HTTP_HOST} ^www.domein9.nl$
RewriteRule ^(.*)$ http://hoofddomein.nl/product/7/$1 [R=301,L]


De http://www.hoofddomein.nl/ gaat rechtstreeks naar http://hoofddomein.nl/ (net als bij tweakers.net), net als de andere 4 domeinen die er volgen. Zowel de domeinen zelf, als het subdomein "www" verwijzen naar hoofddomein.nl. Niets mis lijkt me, en allen zijn permanente redirects (code 301).

Bij de volgende alinea met rewriterules die je dat domein5.nl en domein6.nl naar een specifiek product verwijzen. Ook is hier sprake van permanente redirects.

Alle domeinen verwijzen standaard naar de root van hoofddomein.nl, wat ik met cpanel voor elkaar heb gekregen met "parked domains".

Maar nu komt het probleem: op de 1 of andere manier is de website bij de eigenaar, of dan weer bij mij, of dan weer bij een ander niet bereikbaar. Ik ben gaan zoeken, en zoeken, totdat ik de rewrite_rules eruit gegooid heb, waarna de website het weer perfect deed. Toen heb ik de rules er weer in gezet, maar sommige delen eruit gelaten om te kijken of misschien aan specifieke rules lag, maar dat loste niets op.

Nu ben ik het spoor bijster, en weet niet meer hoe ik dit ga aanpakken. Ik zou het via php kunnen doen met de functie header(), maar de domeinen moeten ook in google gezocht kunnen worden. Ik geloof niet dat google van dit soort redirects houdt. In mijn ogen zou een zoekmachine dan wel een domein toe moeten voegen met een permanente redirect.

Wie kan mij helpen?

  • richardt
  • Registratie: Mei 2002
  • Laatst online: 08-03-2025
Probeer eens de rewrite logging aan te zetten (met behulp van RewriteLog en RewriteLogLevel). Als je zegt 'niet bereikbaar', wat bedoel je daar dan mee? Worden de rules niet toegepast en kom je wel in de root van je virtual host terecht?

De RewriteRule regels verbazen me een beetje, je plakt de hele url vast aan de verwijzing. Is dat de bedoeling? Dit soort regels kunnen makkelijk een 404 veroorzaken en terug verwijzen naar www.hoofddomein.nl. Ook de eerste rule (van http_host=www.hoofddomein.nl naar http_host=www.hoofddomein.nl) kan wel eens een oneindige loop vormen.

  • WiNlUx
  • Registratie: April 2002
  • Laatst online: 12-09-2023
richardt schreef op donderdag 10 augustus 2006 @ 21:37:
Probeer eens de rewrite logging aan te zetten (met behulp van RewriteLog en RewriteLogLevel). Als je zegt 'niet bereikbaar', wat bedoel je daar dan mee? Worden de rules niet toegepast en kom je wel in de root van je virtual host terecht?
Ik bedoel met "niet bereikbaar" dat de webserver plat lijkt te liggen. Wél kan ik dan pingen. Wat je hieronder dan aangeeft dat het geheel een loop zou kunnen veroorzaken kan ik me niet helemaal in vinden. Ik vraag me namelijk af hoe een website als www.tweakers.net (als ik dat intyp), terecht komt op http://tweakers.net/. Dat lijk mij ook met mod_rewrite gedaan te worden... toch? Waarom zou het bij mij dan niet goed werken.
De RewriteRule regels verbazen me een beetje, je plakt de hele url vast aan de verwijzing. Is dat de bedoeling? Dit soort regels kunnen makkelijk een 404 veroorzaken en terug verwijzen naar www.hoofddomein.nl. Ook de eerste rule (van http_host=www.hoofddomein.nl naar http_host=www.hoofddomein.nl) kan wel eens een oneindige loop vormen.
Maar de rest van de rules dan? Hij kijkt toch wat er in de adresbalk is getypt... en op basis van die regels zou je binnen de website zelf het betreffende domein door kunnen sturen??

  • Seth4Chaos
  • Registratie: Maart 2001
  • Niet online

Seth4Chaos

that's me...

ik heb hem voor mijn website zo
code:
1
2
3
4
RewriteCond %{HTTP_HOST}        ^www\.quadrugby\.nl [NC,OR]
RewriteCond %{HTTP_HOST}        ^www\.rolstoelrugby\.nl [NC]
RewriteCond %{HTTP_HOST}        !^$ [NC]
RewriteRule ^(.*)$              http://www.wheelchairrugby.nl/$1 [R,L]


Ik kan me herrinneren dat die 3e regel erbij moest anders kwam die in een loop ofzo.

Aangezien jij dat 'www' eraf wil strippen kan je ook proberen de volgende regel toe te voegen
code:
1
RewriteCond %{HTTP_HOST}        !^www\.wheelchairrugby\.nl$ [NC]

zodat die zoiezo stopt als de correcte URL is bereikt.

Mistakes are proof that you are trying...