我知道这必须是重复的,但我一直在翻阅大量有关此的信息,但无法使其发挥作用。
我正在尝试让一个网站在客户端的服务器上运行,并且他们将该网站安装在虚拟目录中。我本地没有这个设置,所以我在这里盲目飞行。
我正在尝试建立一条通往图像的路径。 (用于 Facebook OpenGraph 元数据)。
我需要图像的路径是完全限定的绝对 URL。我尝试了很多事情,但似乎没有任何效果。下面的代码输出一个相对 url,但这不起作用。
<% var urlHelper = VirtualPathUtility.ToAbsolute("~/static/images/image.jpg");%>
<meta property="og:image" content="<%=urlHelper%>" />
outputs:
<meta property="og:image" content="/static/images/image.jpg" />
我也尝试过:
<% var serverHost = HttpContext.Current.Request.Url; %>
<meta property="og:image"
content="<%=serverHost + "/static/images/image.jpg"%>" />
但这正在产生:
<meta property="og:image"
content="http://localhost:51863/ViewFile.aspx/static/images/image.jpg" />
我在找http://example.com/virtualdirectory/static/images/image.jpg http://example.com/virtualdirectory/static/images/image.jpg
任何帮助都感激不尽。我真的不想对网址进行硬编码。
谢谢,
斯科特
EDIT
我忘记提到我的第一次尝试是 Url.Content("~/....jpg) 但输出的是相对 url,而不是绝对的 url。