2009-02-25 41 views

回答

1

长期繁琐的试验后我的建议到是谁在使用网址的人在集成模式与IIS 7重写,停止浪费你的时间,要么使用MVC的路由或忘记阿拉伯语字符串的URL

3

如果您安装了.NET 3.5 SP1,我建议您切换到System.Web.Routing,而不是UrlRewriting.net库。我最近从UrlRewriting.net切换到System.Web.Routing,路由更好地思考并与ASP.NET管道更好地集成。

如果您有机会切换,我会推荐它。如果没有,请发布您的UrlRewriting.net配置文件,以便我们可以调整显然不起作用的正则表达式。请张贴一些不起作用的URI的例子。

此外,什么是在web.config部分中定义的值:

<system.web> 
    <globalization requestEncoding="utf-8" 
       responseEncoding="utf-8" 
       fileEncoding="utf-8" /> 
</system.web> 

如同在上述例子中,使用UTF-8。还要确保在URI中将字符编码为UTF-8。

0

看来,我已经通过确保解决了这个问题,这两个页面,包含链接和一个解析查询字符串已经UTF-8编码

,但现在我得到了另一个问题 Firefox中的一个正确地显示在地址栏中的超链接和链接 但在IE6和IE 7是这样

mysite/News/2008/10/10/%D8%AA%D8%AC%D8%B1%D8%A8%D8%A9.aspx 

即使IE 6和7的解析链接罚款,但这是丑,什么是请解决吗?

0

更新:男人你不会相信它,我发现它是如此陌生,它是IIS 7集成模式的问题, 尝试从Visual Studio启动您的网页开发服务器和Unicode字符只会被解析很好,但如果你从IIS 7启动页面,它会给你?字符。

希望一些机构将在这里树荫

1

一些光会发生什么事,当你运行“经典模式”的IIS 7的应用程序(可能需要安装是一个可行的选择)?

+0

它工作在经典模式, 我都想尽URL重写方法在那里的商业和自由,我已经使用MVC和抛弃整个网络形式的模式结束了,现在一切都工作得很好:) – DevMania 2009-06-13 06:29:47

1

试试这个,它是速度更快..和免费的问题。

“〜/ News/2008/10/10/newsid /تجربة。aspx” where newsid是您的文章的ID。

从数据库中获取您的标题: '选择*从新闻其中id =' & NewSID的 它比快得多: “SELECT * FROM消息,其中标题= '” &称号& “'”

+0

感谢很多人为伟大的技巧, ,但严重我忘了网页形式和MVC一切都很顺利 – DevMania 2009-06-29 22:52:18

-1

你可以使用 - >Server.UrlEncode(productName)在global.aspx或重写之前,然后使用服务器。UrlDecode(的Request.QueryString [ “PRODUCTNAME”]);在pageLoad的