Ben url yönlendirmesi kullanan bir PHP web sitesi geliştiriyorum. Ben HTML her yolunu değiştirmek zorunda kalmadan http://example.com/site/ için http://site.example.com/ taşınmış olabilir, böylece site dizin bağımsız olmak istiyorum. Ben böylece css dosyaları, görüntü ve benzeri yönlendirme tabi olmayan dosyaları, bağlantı olduğumda sorun çıkageldi.
Örneğin, index
denetleyicisi eylem için görünüm welcome
görüntü içerdiğini varsayalım img/banner.jpg
. Sayfa url http://site.example.com/welcome ile talep edilirse, tarayıcı gayet ki, http://site.example.com/img/banner.jpg olarak görüntüyü isteyecektir. Sayfa url ile talep Ama eğer http://site.example.com/welcome/index, tarayıcı welcome
bir dizin ve olan http://site.example.com/welcome/img/banner.jpg olarak görüntü almaya çalışacağız düşünüyorum edecek Açıkçası yanlış.
Zaten bazı seçenekler kabul ettik, ama hepsi bana eksik gibi görünüyor:
Isteklerini yönlendirmek için yeniden url kullanın (*.css | *.js | ...) veya (css/* | js/* | ...) doğru yolu.
Problems: Her uzatma yeniden yazma kuralları adlandırılmış olması gerekir. Birisi yeni filetype (örneğin bir mp3 dosyası) eklemek istiyorsanız, bunun yeniden yazılamaz olmaz.
Prepend the base path to each relative path with a php function. For example:
<img src="<?php echo url::base(); ?>img/banner.jpg" />
Problems: Karmakarışık görünüyor; css - yollarını içeren ve js dosyaları PHP ile işlenmiş olması gerekir.
Yani, bir web dizini bağımsız nasıl tutabilirim? Ben ile geldi olanlardan daha iyi / temiz bir yolu var mı?