Van egy drupal oldalam, amihez van két domainem (domain1.hu, domain2.hu).
A célom a következő lenne, hogy a domain1 menjen a szokásos drupal módon, míg a domain2 használja ugyanazt a drupal motort és adatbázist (site tehát kilőve) és mutasson egy node-ra. Én apache rewrite-re gondoltam alapból, de nagyon nem akar működni se a tesztszerveren, se az élesen. Redirect könnyű lenne, de a domain2-nek meg kéne maradnia a böngésző címsorában.
A megértésben talán segít ez a mapping lista:
- http://domain1.hu -> http://domain1.hu/index.php
- http://domain1.hu/node/10 -> http://domain1.hu/node/10
- http://domain1.hu/alias -> http://domain1.hu/alias (http://domain1.hu/node/10)
- http://domain1.hu/domain2 -> http://domain1.hu/domain2 (http://domain1.hu/node/20)
- http://domain1.hu/domain2/aloldal -> http://domain1.hu/domain2/aloldal (http://domain1.hu/node/30)
- http://domain2.hu -> http://domain2.hu/index.php?q=domain2 vagy http://domain2.hu/index.php?q=node/20
- http://domain2.hu/node/20 -> http://domain2.hu/node/20
- http://domain2.hu/node/40 -> http://domain2.hu/node/40
- http://domain2.hu/aloldal -> http://domain2.hu/aloldal (http://domain2.hu/node/30)
- http://domain2.hu/alias -> 404, de ez annyira nem kritikus
Amivel próbálkoztam:
# domain2-rol, ha ures az uri (DirectoryIndex)!!!
RewriteCond %{HTTP_HOST} ^domain2\.hu$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteCond %{REQUEST_URI} ^/$
RewriteRule ^/$ index.php?q=node/20 [L,PT]
# domain2-rol, ha van uri
RewriteCond %{HTTP_HOST} ^domain2\.hu$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ index.php?q=domain2/$1 [L,PT]
# domain1 normal mukodes
RewriteCond %{HTTP_HOST} !^domain2\.hu$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^ index.php [L]
Könnyen lehet, hogy rosszul gondolkozom, és a Rule direktíva nem nullázza a Conditionokat. Ekkor hogy lehet nullázni?
Szerk:
Alapvetően a drupal cache nehezítette meg a a jó megoldás megtalálását, de végül meg lett.
# domain2-rol, ha ures az uri (DirectoryIndex)!!!
RewriteCond %{HTTP_HOST} ^domain2\.hu$ [NC]
RewriteCond %{REQUEST_URI} ^/$
RewriteRule ^ /index.php?q=node/20 [L]
# domain2-rol, ha van uri
RewriteCond %{HTTP_HOST} ^domain2\.hu$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ /index.php?q=domain2/$1 [L]
# domain1 normal mukodes
RewriteCond %{HTTP_HOST} !^domain2\.hu$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^ /index.php [L]