Alt etki alanının yeniden yazıldığı IIS'de bir URL yeniden yazmak istiyorum. Örneğin:IIS: Varsayılan Web Sitesi Dışında URL Yeniden Yazma için Uygulama İsteği Yönlendirmesini Kullanma
www.mycompany.com/api/v1.0
api1.mycompany.com
www.mycompany.com/api/v2.0
için yeniden alır ben başka bir deyişlerewrite
değilredirect
, istediğiniziapi2.mycompany.com
Not yeniden yazılarak alır, tarayıcınızdaki URL kalır www.mycompany.com/api/v1.0
ve www.mycompany.com/api/v2.0
.
Yukarıdaki kalıplara uymayan herhangi bir istek, www.mycompany.com
tarafından işlenmeye devam etmelidir.
Anlayışım, yalnızca Rewrite 2.0 modülünün bunun gerçekleşmesi için yeterli olmadığıdır, bu yüzden Uygulama İsteği Yönlendirme 3.0'ı yükledim. İşte yapmak istediğim şey için web.config: Ben Uygulama İstek Yönlendirme yüklendikten sonra
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<directoryBrowse enabled="false" />
<rewrite>
<rules>
<rule name="API v1.0" stopProcessing="true">
<match url="^api/v1.0/(.*)$" />
<action type="Rewrite" url="http://api1.mycompany.com/{R:1}" />
</rule>
<rule name="API v2.0" stopProcessing="true">
<match url="^api/v2.0/(.*)$" />
<action type="Rewrite" url="http://api2.mycompany.com/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
, İşe bu almanız mümkün, ama yalnızca www.mycompany.com
IIS için Default Website
olduğunu. Başka bir deyişle, IIS şekilde ayarlanmış yalnızca:
- Standart Web sitesi (
www.mycompany.com
)- bu site için web.config
api1.mycompany.com
api2.mycompany.com
yukarıda gösterilmektedir
Sorunum, www.mycompany.com
olamaz(Varsayılan Web Sitesi, sunucudaki başka bir site tarafından ayrılmıştır). www.mycompany.com
sadece api1.mycompany.com
veya api2.mycompany.com
gibi başka bir web sitesidir. www.mycompany.com
Default Website
olmadan çalışmak için bunu elde etmek için herhangi bir yolu var mı? Böyle bir şey mi?
- Standart Web sitesi (olmayan başka bir ilgili web sitesi bazı)
www.mycompany.com
- bu site için web.config
api1.mycompany.com
api2.mycompany.com
Ben tam bu birkaç hafta geri yapmak istedim. URL Rewrite 2.0 ile yapılabileceğinden emin değilim. Bana öyle geliyor ki istek ilk önce yeniden yazma modülüne geçiyor, daha sonra aynı uygulama havuzunda yeni bir tanıtıcıya aktarılan eşleştirmelere dayanıyor. URL Yeniden Yazma, isteği başka bir makineye veya uygulama havuzları arasında iletmesi gerektiğinde istediğiniz şekilde çalışmaz. IIS'deki diğer araçlarla istediğiniz şeyi elde etmenin mümkün olması durumunda soruyu biraz daha genelleştirmenizi öneririm. Bu soruya oy verdim çünkü hala yanlış olduğumu ümit ediyorum: D –
* C: \ Windows \ System32 \ inetsrv \ config \ applicationHost.config * üzerinde değişiklik yapabilir misiniz? –
@CyrilDurand, applicatiohHost.config üzerinde hangi değişikliklerin yapılması gerektiğine dair ayrıntılı bilgi verebilir misiniz? –