2016-03-31 32 views
0

Bir ana etki alanını, barındırma hesabımdaki aynı sunucudaki bir eklenti etki alanına yönlendirmeye çalışıyorum. Şöyle diyelim:301 Çok fazla yönlendirmeye neden olan yönlendirme

Yönlendirme 301/http://www.domain.com:

domain1.com

ben kamu html klasörü içinde bir .htaccess dosyası oluşturulur ve bu kodu eklenmiş

domain2.com

için

Yeni siteye gidiyorum (yönlendirilmesini istediğim gibi), bu hatayı alıyorum:

www.domain.com çok fazla kez yeniden yönlendirildi.

Domain1, domain2'ye yönlendirmek için ne yapabilirim?

enter image description here

+0

Etki alanları aynı kök klasörü/dosyaları paylaşıyor mu? – Garytje

+0

@Garytje Doman1 birincil etki alanıdır ve kökündedir. Domain2, içindeki tüm dosyaları ile domain2 adında bir klasöre sahip olan bir eklentidir. – Becky

+0

Etki alanı 2'de bir .htaccess dosyası var mı? Bu garip bir şey gibi geliyor, olası bir çözüm gönderebiliyordum, ancak durumunuz için işe yarayacak mı emin değilim – Garytje

cevap

0

klasörlerin yapısına bağlı olarak, bu kullanarak rewriteConditions sağlanabilir: RewriteRule için geçerlidir

RewriteCond %{SCRIPT_FILENAME} !-f 
RewriteCond %{HTTP_HOST} ^domain1.com 
RewriteRule ^(.*)$ https://www.domain2.com/$1 [R=301,L] 

Bu arada: çizgisinde https://wiki.apache.org/httpd/RewriteCond

şey HTTP_HOST, domain1.com adresinde olduğunda

RewriteCond %{SCRIPT_FILENAME} !-f, dosyalara uygulanmaması gerektiği anlamına gelir.

+0

Yani, '^ domain1' ifadesini koyduktan sonra gerçek domain1 url'i yerleştirdim mi? – Becky

+0

Bir Rewritecondition kullanarak düzeltme, aşağıdaki yeniden yazmayı yalnızca koşul karşılandığında etkinleştirmek için söyler. Geçerli ana bilgisayar domain1 ise, domain2'ye yeniden yönlendirme – Garytje

+0

Sadece 'RewriteCond% {HTTP_HOST}^https: //www.domain1.com RewriteRule^(. *) $ Https://www.domain2.com/$ 1 [R = 301, L] 've hiçbir şey yapmıyor. Ancak, domain2 sayfasında bir hata oluşturmuyor. – Becky

İlgili konular