1

UrlRewritingNet.UrlRewriter.dll我已使用扩展名将 URL 重写规则应用于我的网站。在 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 重写规则?

4

1 回答 1

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" />
于 2013-04-25T07:45:33.293 回答