PHP $ _SERVER ['DOCUMENT_ROOT'] ve htaccess?

2 Cevap php

Ben sadece htaccess içinde DocumentRoot ayarlayabilirsiniz değil biliyorum ama ben erişimi olan tüm bulunuyor. Etrafında bir çalışma var mı? Ne yapmam gerekir? Ya da bu böyle bir kurulum için yanlış yapılandırma?

Www.foo.com / usr / www / users / foo eşleştirilir: Ben bir dev sunucu var.

Ben o var

  • www.foo.com / peter => / usr / www / users / foo / peter
  • www.foo.com / paul => / usr / www / users / foo / paul

Nasıl ayarlayabilirsiniz $_SERVER['DOCUMENT_ROOT'], sırasıyla / usr / www / users / foo / peter ve / usr / www / users / foo / paul eşleştirmek için?

Teşekkürler.

2 Cevap

DocumentRoot tam olarak bu: Belirli bir etki alanı için kök dosya sistemi konumu (/) uri.

. Htaccess işlenir zaman, zaten bunu değiştirmek için çok geç. Neden? Dosya sistemi konumu bahsedilen Peki ... erişiyor. Htaccess dosyası olduğundan!

Yeni bir sabit oluşturmak ve bunun bir parçası olarak $_SERVER['DOCUMENT_ROOT'] kullanabilirsiniz, o söyledikten sonra.

Benim durumumda herhangi bir $_SERVER değişkenleri güvenmeyi asla öğrendim. Bunun yerine, bir arada kullanarak doc_root kendim kurdum dirname() ve ortak olan yer ben asla değişmeyeceğini eminim dosyası içerir. Ortak çerçeveler bir sürü TÜM istekleri işleyen sevk veya dizin dosyasında benzer bir şey yapacağız.

Örnek Uygulama Klasör Yapısı:

-/usr/www/users/
  -peter/
    -script.php
  -paul/
    -script.php
  -index.php
//index.php

DEFINE('ROOT_PATH', dirname(__FILE__));
echo ROOT_PATH; // /usr/www/users/

Php ile ilgili daha fazla bilgi magic constants like __FILE__

Umut olur.