PHP çoklu siteler için tek bir kod tabanı için IIS URL Rewrite nasıl kullanılır

2 Cevap php

Ben PHP için Apache Mod Rewrite kullanılan ancak IIS içinde var.

BACKGROUND:

I have inherited over 400 sites on IIS with PHP all with a copy of the identical code base. The current code base has a unique connection string per client and that is why it was copied over and over again.

Her IIS bireysel bir siteyi işaret eden bir alt etki alanı olma:

  • customer1.mysite.com
  • customer2.mysite.com

Ben veritabanı ana tablo değişkenleri çeker ve artık tek bir kod için bir sanal dizin kullanarak Session dizeleri yerleştirir tek bir PHP dosyası içeren kendi dizinle işaret her site ile tek bir kod tabanı almak için oturumlar ve PHP kullanmış tabanı.

Ama şimdi bir adım daha ileri götürmek istiyorum. Bunun için fikir Apache ile Zend ön yükleme kullanarak geldi.

Benim sonraki adım indiviual PHP dosyaları ortadan kaldırmak ve tek bir IIS sitesi üzerinde tek bir dizinde tek bir kod tabanı ile birlikte bir önyükleme dosyası kullanmaktır. www.mysite.com

QUESTION

Mysite.com üzerinde herhangi bir alt alan mysite.com / bootstrap.php gider böylece bir yeniden yazma kuralı yapmak, böylece customer1.mysite.com www.mysite.com / bootstrap.php ve customer2 gider mümkün olup olmadığını bilmek istiyorum. mysite.com www.mysite.com / bootstrap.php gider ama subdomain çivinin kalır - bu sadece bir site olsa bile.

Çağrısı, böylece: customer1.mysite.com www.mysite.com gider ve önyükleme, alt etki alanı okumak sitesi parametrelerini bakmak, oturumlarda koyun ve ardından siteye erişime izin verebilir.

Yoksa bunu gerçekleştirmek için daha iyi bir yol biliyorsanız lütfen bana bildirin ama ben 400 değiştirmek artı müşteri ürünü erişmek için kullandığınız alt etki alanlarını olamaz.

2 Cevap

ISAPI Rewrite (IIS için A ModRewrite) kullanıyorsanız, özgün, değiştirilmemiş, URL olan "X-Rewrite-URL" HTTP başlık adresinden bootstrap.php göz, ve göstermek için ne bir karar verebilir buna göre.

Joker izin verilmez çünkü Rewrite işe yaramaz. Yani tek bir klasöre her subdomain eklemek zorunda kaldılar. Biraz daha fazla iş ama sorun çözüldü.