Bir etki birden fazla web sitelerini yönetmek

5 Cevap php

Ben aşağıdaki sistem gerçekleştirmek için bir çözüm bulmak için bir süredir arıyordum edilmiştir.

Ben DomainA, diyelim ki, bir PHP bir sistem kurmak istiyorum. Bu DomainA ben bir yönetici yeni bir web sitesi 'yaratmak' için izin verecektir. Bu web sitesi sadece her bir veritabanında saklanan metin parçaları, içerir. Bu, ben nasıl yapılacağını biliyorum.

However, now I would like to make it possible that visitors that surf to domainB will be invisibly redirected to for example domainA.com/gateway.php?refdomain=domainB&page=xxx or something similar. I have a vague idea this should be done by .htaccess, but I don't really know how I can do this in the most easy way. If for example there are some POST or GET requests on domainB, this should keep working. Also images linked to http://www.domainB.com/test.gif should be invisibly loaded form www.domainA.com.

Ben bilmiyorum, ben de bu özelliği sağlayan bazı CMS sistemleri (örneğin drupal) olduğunu biliyoruz, bu yüzden mümkündür.

Thank you for any advice that might point me in the right direction, kind regards, Digits

5 Cevap

Temel olarak, (belki vhosts joker kullanarak) ve ardından kurulum urlrewrite aynı dizine tüm etki işaret etmek isteyeceksiniz; Örnek için this question bakmak, ve bir. htaccess dosyası veya Apache yapılandırmasında olabilir.

Gelen tüm istekleri aynı gateway.php gidecek ve $_SERVER['REDIRECT_QUERY_STRING'], $_SERVER['REQUEST_URI'] ve _SERVER['SERVER_NAME'] $ örneğin kullanarak geçerli etki alanı ve isteklerini elde edebilirsiniz. $_SERVER bakın. Daha sonra doğru dosyaları göndermek için gateway.php de mümkün olacak.

Eğer aynı makinede bu hosting hem musunuz? Eğer öyleyse, VirtualHosts Apache gibi bir şey sizin için bu çözebilir.

mod_alias ve mod_rewrite de size bazı kullanım olabilir.

Eğer Drupal gibi bir CMS kullanıyorsanız, Portal Alias ​​kullanarak bu atamak gerekir. Takma ad kullanarak oluşturduğunuz farklı "siteler" işaret etmek için farklı etki atamak mümkün olacak.

Tamam, burada gerçekten basit bir örnek:

RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^www\.domainA\.com
RewriteRule (.*) http://www.domainA.com/gateway.php?realpath=$1 [L,QSA]

Daha sonra parse_url kullanarak ağ geçidi komut "realpath" ayrıştırmak ve uygun eylemleri sürebilir.

Eğer istedim vb görüntüler için ayrı olanlar var için yeniden yazma kuralları ile daha karmaşık alabilir

Sen yönlendirme başlığını kullanabilirsiniz ..