C# URL重写后未加载样式和脚本
我已使用C# URL重写后未加载样式和脚本,c#,asp.net,url-rewriting,C#,Asp.net,Url Rewriting,我已使用UrlRewritingNet.UrlRewriter.dllextension将URL重写规则应用于我的网站。在web.config文件中,我编写了如下规则: <add name="Default" virtualUrl="^~/(.*)/Default.zkn" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/Default.aspx?lang=$1"
UrlRewritingNet.UrlRewriter.dll
extension将URL重写规则应用于我的网站。在web.config文件中,我编写了如下规则:
<add name="Default"
virtualUrl="^~/(.*)/Default.zkn"
rewriteUrlParameter="ExcludeFromClientQueryString"
destinationUrl="~/Default.aspx?lang=$1"
ignoreCase="true"
/>
<link href="Styles/Default.css" type="text/css" rel="Stylesheet" media="screen" />
但是由于我已经应用了它,因此没有加载头部相对指向的样式和附加javascript文件
然后我尝试添加~
字符
<link href="~/Styles/Default.css" type="text/css" rel="Stylesheet" media="screen" />
许多人说这会奏效。但是不,它不起作用
加载页面后,我在浏览器上打开源代码,我看到~
字符没有被替换为我的站点文件夹
因此,css和js文件出现404错误
如何纠正呢
有没有办法为style/js文件添加新的URL重写规则?也许您可以尝试:
<%
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" />