Dot*_*t98 5 asp.net-mvc routing iis-7
有没有办法强制网站下的网络应用程序中的“路径”解析为应用程序下的实际路径,而不是网站?
我是新手,所以我无法上传我正在谈论的图像,但看看您是否可以想象我的 IIS 设置:
IIS 7.0
----MAIN WEB SITE:
----Web App #1
----Web App #2
Run Code Online (Sandbox Code Playgroud)
每个 Web 应用程序都有自己的 CSS,指向自己的图像;例如在 Web App #1 中:
background-image: url(images/someimage.png)
Run Code Online (Sandbox Code Playgroud)
问题是,由于 Web 应用程序安装在主站点下,因此“images/someimage.png”解析为主站点的图像文件夹,而不是 Web 应用程序 #1。
我怎样才能解决这个问题?
首先尝试这个
更新(因为我也在努力解决这个问题):
除了 MapPath("~/...") 背后的代码之外,我的重点仅来自路径解析的 HTML/CSS 点
我注意到如果我们谈论 HTML
<img src="/images/x.jpg" /> this will work only from
IIS 7.0
----MAIN WEB SITE
Run Code Online (Sandbox Code Playgroud)
“images”前面的斜杠“/”将被解释为“go to root”
修复
IIS 7.0
----MAIN WEB SITE
----Web App #1
Run Code Online (Sandbox Code Playgroud)
删除“/”,这样<img src="images/x.jpg" /> 无论托管为网站还是托管为 Web 应用程序,这都适用
现在 CSS 是一种棘手的不同方式,我很惊讶使用你的示例它不起作用,因为图像前面没有斜线。
考虑基于您的示例的结构
IIS 7.0
----MAIN WEB SITE:
----Web App #1
----styles
----images
Run Code Online (Sandbox Code Playgroud)
你的CSS
background-image: url(images/someimage.png)
Run Code Online (Sandbox Code Playgroud)
告诉浏览器去寻找MAIN WEB SITE/Web App #1/styles/images/someimage.png
添加 ”/”background-image: url(/images/someimage.png)
结果是MAIN WEB SITE/images/someimage.png
现在添加“../”background-image: url(../images/someimage.png)
结果是MAIN WEB SITE/Web App #1/images/someimage.png
(似乎已解决,向上一级,然后转到图像)
好的部分是,一旦您更改这些前缀以使其作为 Web 应用程序工作,即使作为实际网站托管(如果您需要这样做),它似乎也可以工作
IIS 7.0
----MAIN WEB SITE (web app #1):
----styles
----images
Run Code Online (Sandbox Code Playgroud)
[抱歉,如果这个答案描述性不够或混乱,当有人提出建议或者我自己发现错误时,我会添加编辑,通常是 firefox/chrome F12 并查看资源路径]
| 归档时间: |
|
| 查看次数: |
9844 次 |
| 最近记录: |