Yolun ortasında bir dosyaya başvuran bir HTTP isteği ne yapar?

4 Cevap php

Ben bir HTTP sunucusu yazma yaşıyorum ve ben Serendipity PHP Blog çalıştım ben bu gibi tarayıcı istekleri olsun:

GET / serendipity_admin.php / templates / default / admin / pluginmanager.css HTTP/1.1

The "/serendipity_admin.php" file does exist so the "/serendipity_admin.php/templates/default/admin/pluginmanager.css" obviously must fail.

Böyle bir istek, ucuzluk ne zaman bir web sunucusu ne yapmalıyım?

Ben sadece her zamanki isteği HTTP başlıklarını (REQUEST_URI, PATH_INFO'yu vb) ile "/ serendipity_admin.php" yürütmek için çalıştı, ama bu yüzden gerekli biraz daha magick orada çalışmak için görünmüyor. Birisi açıklayabilir misiniz.

4 Cevap

web sunucusu soldan sağa url maç çalışacağız.

o. php dosyasını bulur beri, bu url kalanı daha sonra $ _SERVER ['PATH_INFO'] komut dosyası tarafından okumak için kullanılabilir küresel PHP değişkeni içinde saklanır, onu arayacak.

Sonra komut dosyası bu değişkene bağlı olarak onun mantığını gerçekleştirebilirsiniz.

REQUEST_URI ve PATH_INFO HTTP isteği üstbilgileri değildir. Bunlar CGI ortam değişkenleri vardır.

/serendipity_admin.php PATH_INFO olarak /templates/default/admin/pluginmanager.css ile yürütülüyor yılında /serendipity_admin.php/templates/default/admin/pluginmanager.css sonuçlar için bir istek

Sen gerekir read the CGI specification.

Blog muhtemelen Apache'nin MultiView gibi çalışan bir modülü çalıştıran excepts. Multiview bu sorguda belirtilen tam yolu ile dosyayı bulamazsa (diğer şeyler arasında) serendipity_admin.php aramak için Apache neden olur.

Eğer Apache yeniden yazma motoru kullanmak için bekliyor gibi bu görünüyor. Bir. Htaccess dosyası ile mi geldi? Öyleyse VirtualHost AllowOverride Tümü ayarlamak veya sanal konağın içine dosyanın içeriğini kopyalamak gerekir.