我已使用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" />
但是由于我已应用此功能,因此未加载head
部分中相对指向的样式和其他javascript文件。
然后我尝试添加~
字符。
<link href="~/Styles/Default.css" type="text/css" rel="Stylesheet" media="screen" />
很多人说这会奏效。但不,它没有用。
页面加载后,我在浏览器上打开源代码,发现~
字符未被我的站点文件夹替换。
因此css和js文件出现404错误。
如何纠正?
有没有办法为style / js文件添加新的URL重写规则?
答案 0 :(得分:2)
也许你可以试试:
<%
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" />