样式和脚本不加载URL重写后(Styles and Scripts not Loading Afte

2019-09-29 02:57发布

我已经申请使用URL重写规则,我的网站UrlRewritingNet.UrlRewriter.dll扩展。 在web.config文件我已经写了类似如下的规则:

<add name="Default"
     virtualUrl="^~/(.*)/Default.zkn"
     rewriteUrlParameter="ExcludeFromClientQueryString"
     destinationUrl="~/Default.aspx?lang=$1"
     ignoreCase="true"
/>

它很容易改变http://sitename.com/en/Default.zkn到Default.aspx的?LANG = EN

我的一部分head部分是这样的:

<link href="Styles/Default.css" type="text/css" rel="Stylesheet" media="screen" />

但是,因为我已经申请对此,款式和附加JavaScript文件指出相对的head部分不会被加载。

然后我试图添加~字符。

<link href="~/Styles/Default.css" type="text/css" rel="Stylesheet" media="screen" />

很多人说,这是可行的。 但是,没有,它没有工作。

页面加载后,我打开浏览器的源和我看到~字不是用我的网站文件夹代替。

因此,对于CSS和JS文件时出现404错误。

怎样才可以更正?

有没有一种方法,增加了对风格/ js文件也是一个新的URL重写规则?

Answer 1:

也许你可以试试:

<%
var basePath = String.Format("{0}{1}",Request.ApplicationPath,  string.IsNullOrEmpty(Request.ApplicationPath) || !Request.ApplicationPath.EndsWith("/") ? "/" : "");
%>

<link href="<%=basePath%>Styles/Default.css" type="text/css" rel="Stylesheet" media="screen" />


文章来源: Styles and Scripts not Loading After URL-Rewriting