我在 IIS 服务器虚拟目录上托管多个应用程序,并使用 URL 重写来简化它们。所有图像和其他资产都是这样手动编写的"~/path/to/my/content"
有正确的输出"/path/to/my/content"
,但捆绑路径如"~/client/js"
给出一个输出"/myapplication/client/js"
应该是"/client/js"
.
我该如何解决这个问题?
我如何启动脚本包:
var scriptBundle = new ScriptBundle("~/client/js");
重写配置:
<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>
正在研究这些主题,但无法让任何事情对我有用:
- 如何让 System.Web.Optimization 捆绑包与 IIS 虚拟目录中的自定义文件夹一起使用? https://stackoverflow.com/questions/12100524/how-do-i-get-system-web-optimization-bundles-to-work-with-custom-folders-in-an-i
- 带或不带虚拟目录的 CssRewriteUrlTransform https://stackoverflow.com/questions/19765238/cssrewriteurltransform-with-or-without-virtual-directory
- 为什么 ResolveBundleUrl 不适用于自定义文件夹? (MVC 测试版 4) https://stackoverflow.com/questions/9647585/why-does-resolvebundleurl-not-work-for-custom-folders-mvc-beta-4/9647592#9647592
- 是否可以在 MVC4 中对 BundleConfig 进行单元测试? https://stackoverflow.com/questions/11371710/is-it-possible-to-unit-test-bundleconfig-in-mvc4
UPDATE:我使用 Winhost 作为托管提供商,他们不支持为 IP 设置主机标头,可能是由于共享 IP。它们提供指向根文件夹的域指针,这就是我使用 URL 重写的原因。
你说 :
我在 IIS 服务器虚拟目录上托管多个应用程序
我正在使用 URL 重写来帮助他们
因此,问题涉及可用于捆绑等的根配置(虚拟目录),这与捆绑配置或重写规则无关。我认为你需要设置我的应用程序目录作为虚拟并将其设置为单独的网站。确保您已遵循以下中的说明创建网站 http://www.iis.net/learn/get-started/getting-started-with-iis/create-a-web-site它说:
当您在 IIS 中添加网站时,会在应用程序主机配置文件。该条目指定:
- 站点的网络绑定
- 将站点映射到文件系统中的某个位置
- (可选)指定内容访问的用户凭据
为了确保用户请求到达正确的网站,必须为服务器上的每个站点配置唯一的标识。可以使用以下唯一标识符来区分托管在同一服务器上的网站。
- 主机标头名称 (受到推崇的)
- IP地址
- TCP端口号
为网站配置主机标头 (IIS 7) https://technet.microsoft.com/en-us/library/cc753195%28WS.10%29.aspx指向第一个。
Update:我认为服务器和您的项目可能存在名称冲突。更积极地尝试改变client in ~/client/js
及其文件夹到新文件夹。除非有多种路径选择(有了这个路径深度)让服务器获取,您可以通过添加额外的深度来解决它\
在您的项目和 js 包映射中。
Update2:最后我建议您阅读完整文章如何在 winhost.com 上发布或托管子域? http://www.altafkhatri.com/Technical/Configure/How-to-publish-or-host-subdomain-on-winhostcom/Solution-resolution解决这个令人惊奇的问题:)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)