Yerel IIS örneğimi bir proxy olarak kullanmak için geliştirdiğim bir yerel tomcat sunucum var.
Bunu yapıyorum çünkü sunucuyu dağıtmak acı verici bir işlemdir çünkü içeriğin çoğu (tanımlayacağım gibi) kendi içeriğinde değildir. Farklı projelerden gelen içerikler esasen sunucunun kök dizinine kopyalanır. Yeniden yazma modülünün yardımıyla, URL'leri çoğunlukla sanal dizinlere yeniden yazabilmek için ayarlama zorluğuyla uğraşmak istemedim.
Örneğin.,
/js/* -> /someproject/js/*
/css/* -> /someproject/css/*
/**/*.pdf -> /someotherproject/pdf/*
Bununla birlikte, bu planın işe yaramadığı, özellikle hedef dizinlerde çakışma olduğunda birkaç köşe durumu vardır. Dağıtımda, bazı kaynaklar aynı dizine yerleştirilir, bu nedenle hangisinin hangisi olduğunu ayırt etmenin gerçek bir yolu yoktur. Bu dosyalar için kesin bir kalıp yok, hepsi karışık bir çanta.
Örneğin.,
/someproject1/file1.txt -> /file1.txt
/someproject2/book2.doc -> /book2.doc
Yani bir URL verildi /file1.txt
, Gitmek için yeniden yazabilir miyim bilemem someproject1
veya someproject2
. Bu yüzden, yeniden yazmaya çalışacak URL'lerin bir tür hiyerarşisi olsaydı bunun işe yarayacağını düşünüyorum. Böylece gibi bir url alabilir /file3.txt
, geçerli görünen bu kalıpların ilkine yeniden yazma.
/someproject1/file3.txt # if 404, try the next
/someproject2/file3.txt # if 404, try the next
/someotherproject/file3.txt # if 404, try the next
/file3.txt # fallback
Bu sadece URL yeniden yazma modülü kullanılarak ifade edilebilecek bir şey mi?
http://{Site}/music
ve http://{Site}/Music
ikisi de aynı şeyi gösteriyor {Drive}:\{Path}\SharedMusic
.
for /r %i in (*.*) do mklink /h "{CombinedPath}\%~nxi" "%i"
(iki katına %
bir toplu iş dosyasında). İlk önce temizlemek için ihtiyacınız olacak {CombinedPath}
ile dizin del {CombinedPath}\*.*
. Sembolik bağlantılar oluşturmayı deneyebilirsiniz (ihmal /h
), ancak IIS'nin bunları doğru şekilde kullanıp kullanmayacağından emin değilim.