【问题标题】:Styles and Scripts not Loading After URL-RewritingURL 重写后不加载样式和脚本
【发布时间】:2013-04-25 07:07:51
【问题描述】:

我已使用 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" />

但由于我已经应用了这个,样式和附加的 javascript 文件相对指向 head 部分没有加载。

然后我尝试添加~ 字符。

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

很多人说这行得通。但是不,它没有用。

页面加载后,我在浏览器上打开源代码,我看到~ 字符没有被我的站点文件夹替换。

所以 css 和 js 文件出现 404 错误。

如何纠正?

有没有办法为 style/js 文件添加新的 URL 重写规则?

【问题讨论】:

    标签: c# asp.net url-rewriting


    【解决方案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" />
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-30
      • 2013-05-07
      • 2015-10-24
      相关资源
      最近更新 更多