Ich gehostet mehrere Anwendungen auf IIS Server virtuelle Verzeichnisse und ich benutze URL Rewrite, um sie zu erleichtern. Alle Bilder und andere Assets, die manuell wie folgt geschrieben werden "~/path/to/my/content"
hat eine korrekte Ausgabe "/path/to/my/content"
, aber Bündelpfade wie gibt eine Ausgabe "/myapplication/client/js"
, die "/client/js"
sein sollte.MVC Bundles und IIS virtuelle Verzeichnisse (URL Neuschreiben)
Wie kann ich das beheben?
Wie starte ich Skript-Bundle:
var scriptBundle = new ScriptBundle("~/client/js");
Rewrite Konfiguration:
<rule name="Official Website" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" matchType="Pattern" pattern="^(www\.)?domain\.com$" ignoreCase="true" negate="false" />
</conditions>
<action type="Rewrite" url="officialsite/{R:1}" />
</rule>
wurde in diesen Themen suchen, konnte aber nichts für mich arbeiten machen:
- How do I get System.Web.Optimization bundles to work with custom folders in an IIS virtual directory?
- CssRewriteUrlTransform with or without virtual directory
- Why does ResolveBundleUrl not work for custom folders? (MVC Beta 4)
- Is it possible to unit test BundleConfig in MVC4?
UPDATE: Ich verwende Winhost als Hosting-Provider, und sie unterstützen keine Host-Header für die IP-Einrichtung, wahrscheinlich aufgrund der gemeinsam genutzten IP. Sie stellen Domain-Pointer für Root-Ordner zur Verfügung, weshalb ich URL-Rewrite benutze.
Sie haben uns gesagt, Sie Umschreiben, aber Sie haben beschlossen, nicht zu Ihren Rewrite-Regeln zu zeigen? Es sieht so aus, als wären sie Teil des Problems. – spender
Es scheint mir, dass Sie mehrere Websites verwenden möchten, die mit Port 80 verknüpft sind und sich durch den Hostnamen unterscheiden. Sie müssen dafür keine URL-Umschreibung verwenden. Kann [dies] (http://forums.iis.net/t/1197454.aspx) sein, wonach Sie suchen? – milanio
@milanio Hallo, Ich benutze WinHost als mein Hosting-Provider, und das einzige, was ich tun kann, ist Domain-Zeiger auf entsprechende Root-Ordner setzen. Sie bieten keine Host-Header wie in dem von Ihnen bereitgestellten Link an. Danke dir. – skmasq