IIS6’da Alt Klasörden Dosya Sunmak: Basit Bir Çözüm
Birden fazla ekibin içerik katkısı yaptığı bir web sitesini yönetirken, her şeyi düzenli tutmak bir zorluk olabilir. Bu özellikle IIS 6 gibi eski bir sunucuyla çalışırken geçerlidir. Geliştiricilerin geliştirme kodu ile iş web sayfaları arasında net bir ayrım yapmak istediği ve kullanıcıların da kolay erişim sağlaması gerektiği yaygın bir senaryo ortaya çıkar. Bu blog yazısı, web sayfalarını alt klasörden sunmanın yollarını gösterecek, hem de URL’lerde değişiklik yapmadan!
Zorluk
Bir web sitesi yapısına sahip olduğunuzu düşünün:
- Kök: Geliştirme ekibi için sayfalar ve kaynaklar içerir.
- İçerik: İş ekibinin basit web sayfalarını yüklemesi için ayrılmış bir alt klasör.
Sorun, kullanıcıların iş ekibinin web sayfalarına doğrudan erişmesini istemenizdir; URL’lere /Content
eklemeleri gerekmemelidir. Örneğin:
- Kullanıcılar şunu ziyaret etmek istiyor:
www.oursite.com/popcorn.aspx
- Bunun yerine şunu girmemelidir:
www.oursite.com/Content/popcorn.aspx
Çözüm: URL Yazımı Kullanarak
Bu hedefe ulaşmak için, IIS 6’da mevcut olan ISAPI Rewrite Modülü’nü kullanabilirsiniz. Bu, belirli dosyalar için kök klasördeki istekleri alt klasördeki karşılık gelen dosyalara yönlendiren kurallar oluşturmanıza olanak tanır.
İşte Adımların Bir Özeti:
-
ISAPI Rewrite Kurun: Eğer henüz yapmadıysanız, IIS 6 sunucunuzda ISAPI Rewrite aracının kurulu olduğundan emin olun.
-
Yeniden Yazım Kuralları Oluşturun: Belirli bir dosya için istek yapıldığında sunucunuza İçerik klasörüne bakmasını söylemek için konfigürasyon dosyanıza kurallar eklemeniz gerekecek. İşte temel sözdizimi şöyle görünüyor:
RewriteCond %{REQUEST_FILENAME} -!f RewriteCond Content/%{REQUEST_FILENAME} -f RewriteRule (.*) Content/(.*)
Kodu Anlamak
- RewriteCond %{REQUEST_FILENAME} -!f: Bu koşul, istenen dosya adının kök dizinde mevcut bir dosya ile eşleşmediğini kontrol eder.
- RewriteCond Content/%{REQUEST_FILENAME} -f: Bu koşul, istenen dosyanın gerçekten İçerik alt klasöründe mevcut olup olmadığını kontrol eder.
- RewriteRule (.) Content/(.): Her iki koşul da sağlanıyorsa, bu kural URL’yi İçerik klasöründen içerik almak üzere yeniden yazar.
- Test Etme: Yukarıdaki kuralları yapılandırdıktan sonra, ayarı test etmek çok önemlidir. Tarayıcınızdan doğrudan web sayfalarına kök dizindeymiş gibi gidin. Örneğin,
www.oursite.com/popcorn.aspx
adresine erişmeyi deneyin ve İçerik klasöründenwww.oursite.com/Content/popcorn.aspx
ile içerik sunulup sunulmadığını kontrol edin.
Bu Yaklaşımın Faydaları
- Kesintisiz Kullanıcı Deneyimi: Kullanıcılar, iş ekibinin sayfalarına belirli klasör yapısını hatırlamak zorunda kalmadan erişebilir.
- Organizasyonel Netlik: Geliştiriciler ve iş ekipleri birbirinin dosyalarına müdahale etmeden bağımsız olarak çalışabilirler.
- Daha Kolay Bakım: İçeriğin alt klasörlerde düzenli tutulması, bakım ve güncellemeyi kolaylaştırır.
Sonuç
IIS 6’da ISAPI Rewrite Modülü kullanarak kullanıcı dostu URL’ler oluşturabilir ve yapılandırılmış bir içerik dizini sürdürebilirsiniz. Yukarıda sunulan basit yeniden yazım kuralları ile tüm içeriğin kolayca erişilebilir olmasını sağlarsanız, organizasyonel ihtiyaçlardan ödün vermemiş olursunuz.
İyi kodlamalar dilerim ve URL’lerinizin her zaman dostça olmasını umarım!