.net网址重写问题 asp.net项目怎样将www.xxx.com/xxxx/xx.aspx 重写成www.xxx.com/xx.aspx 这样啊? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 上谷歌搜索 asp.net 伪静态重写 资料多了个去 就引用 dll 再注意配置web.config就好了 看你是.net什么版本,要是3.5以上,直接routetable.3.5以下用rewriter或者什么其他的组件 用urlrewriter能轻松实现你的要求。微软官方的urlrewriter下载地址:http://download.microsoft.com/download/0/4/6/0463611e-a3f9-490d-a08c-877a83b797cf/MSDNURLRewriting.msi http://topic.csdn.net/u/20101130/21/e083e1db-741d-4d71-b4ec-991fa65eaaac.html http://blog.csdn.net/fengyarongaa/article/details/6583288 要求: 重写前:http://localhost:13275/Default.aspx?username=wilson 重写后:http://localhost:13275/wilson 第一步:下载相关DLL(ActionlessForm.dll和UrlRewriter.dll) 下载链接一: http://download.csdn.net/detail/porschev/3704868 下载链接二: http://files.cnblogs.com/zhongweiv/Lib.rar 第二步:VS2010创建测试网站应用程序,并添加以上DLL的引用 PS: 操作步骤省略,我想都会 第三步:在项目中添加asp.net文件(App_Browsers) App_Browsers这个我们比较少用 App_Browsers文件夹包含.browser文件,.browser文件是XML文件,可以标识向应用程序发出请求的浏览器,并理解这些浏览器的功能。 在C:\Windows\Microsoft.NET\ Framework\v2.0.50727\CONFIG\Browsers中有一个可全局访问的.browser文件列表。另外,如果要 修改这些默认的浏览器定义文件,只需将Browsers文件夹中的对应.browser文件复制到应用程序的\App_Browsers文件夹,修改其定义即可。 如果对这些Asp.Net文件夹了解不多可以看看这篇文章,相信很有帮助 http://blog.csdn.net/icecityman/article/details/4748018 1.选择项目--->右键添加--->添加asp.net文件夹--->App_Browsers 2.在App_Browsers下创建Form.browser文件 <browsers> <browser refID="Default"> <controlAdapters> <adapter controlType="System.Web.UI.HtmlControls.HtmlForm" adapterType="URLRewriter.Form.FormRewriterControlAdapter"/> </controlAdapters> </browser> </browsers>复制代码 PS: refID:不可以与ID和arentID同时存在 第四步:配置web.config1 .在configuration节点下添加 <configSections> <section name="CustomConfiguration" type="URLRewriter.Config.UrlsSection, URLRewriter"/> </configSections> <CustomConfiguration> <urls> <!--([\w]+)表示,1到n个字母或数字或下划线或汉字组成--> <add virtualUrl="~/([\w]+)*" destinationUrl="~/Default.aspx?username=$1"/> </urls> </CustomConfiguration>复制代码 PS:正则的部分,要根据不同的规则去写,如果有不会的,可以留下详细规则,我看到后会尽快回复!! 2.在System.web节点下添加 <httpModules> <add type="URLRewriter.RewriterModule, URLRewriter" name="RewriterModule"/> </httpModules>复制代码 解释一下httpModules的的Add节点属性: type:HttpModule的标识号和类库名称 name:取一个较为友好的名称 用MSDN的截图来解释一下 第五步:测式 1.在项目Default.aspx.cs文件Load事件中加入 if (!IsPostBack) { StringBuilder sb = new StringBuilder(); sb.Append("当前所在位置:Default.aspx<br/>"); if (!string.IsNullOrEmpty(Request.Params["username"])) { sb.Append("所接收到的参数username:" + Request.Params["username"]); } Response.Write(sb.ToString()); }复制代码 这里的测试主要是测试直接用重写后规则访问,看是否访问成功,并测试是否能够接收到username参数 还有输入重写前的地址,是否能访问成功 测试一:找开----->http://localhost:13275/Default.aspx 结果(aspx页输出)------>当前所在位置:Default.aspx 测试二:找开----->http://localhost:13275/wilson 结果(aspx页输出)------>当前所在位置:Default.aspx 所接收到的参数username:wilson 第六步:在IIS7.5里配置 完成前五步后,直接运行VS可以重写成功,但发布在IIS中时就会有相应的错误,这样需要配置一下IIS,详情请看下面博客地址 http://www.cnblogs.com/zhongweiv/archive/2011/10/29/UrlRewriter_IIS.html 源码下载地址一:http://download.csdn.net/detail/porschev/3705332源码下载地址二:http://files.cnblogs.com/zhongweiv/UrlRewriterDemo.rar接上一篇 .NET4.0下网站应用程序用UrlRewriter.dll重写无后缀路径在IIS中新建网站(端口号8111) 直接运行http://localhost:8111/ 错误截图 配置方法: 二、添加通配符脚本映射,选择:C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll 三、找到和网站相对的连接池,选择framework 4.0 经典模式 四、选择应用程序连接池,高级设置,启用32位应用程序,设为true 文件下载后缀 求一CSS样式。table横着的边框显示,怎么写 如何让用户控件中动态生成的控件触发事件? 请问我的网站在我的电脑无法访问,但是别人就可以访问,我只有重启路由才能用,这是为什么啊?!! 时间类型 怎么样通点单击获取TreeView控件的当前所选节点的文本? 如何把字段的值賦给标签,用以显示出来. 为什么采取下列代码刷新时,并未重新取数据库的值? 有关IsPostBack和页面频繁刷新的问题 asp.net引用npoi读取excel 的sheet数量与实际个数不符 新手提问,简单的送分问题 paging 问题
3.5以下用rewriter或者什么其他的组件
微软官方的urlrewriter下载地址:
http://download.microsoft.com/download/0/4/6/0463611e-a3f9-490d-a08c-877a83b797cf/MSDNURLRewriting.msi
重写前:http://localhost:13275/Default.aspx?username=wilson
重写后:http://localhost:13275/wilson
第一步:下载相关DLL(ActionlessForm.dll和UrlRewriter.dll)
下载链接一: http://download.csdn.net/detail/porschev/3704868
下载链接二: http://files.cnblogs.com/zhongweiv/Lib.rar
第二步:VS2010创建测试网站应用程序,并添加以上DLL的引用
PS: 操作步骤省略,我想都会
第三步:在项目中添加asp.net文件(App_Browsers)
App_Browsers这个我们比较少用
App_Browsers文件夹包含.browser文件,.browser文件是XML文件,可以标识向应用程序发出请求的浏览器,并理解这些浏览器的功能。
在C:\Windows\Microsoft.NET\ Framework\v2.0.50727\CONFIG\Browsers中有一个可全局访问的.browser文件列表。另外,如果要
修改这些默认的浏览器定义文件,只需将Browsers文件夹中的对应.browser文件复制到应用程序的\App_Browsers文件夹,修改其定义即可。
如果对这些Asp.Net文件夹了解不多可以看看这篇文章,相信很有帮助
http://blog.csdn.net/icecityman/article/details/4748018
1.选择项目--->右键添加--->添加asp.net文件夹--->App_Browsers
2.在App_Browsers下创建Form.browser文件
<browsers>
<browser refID="Default">
<controlAdapters>
<adapter controlType="System.Web.UI.HtmlControls.HtmlForm"
adapterType="URLRewriter.Form.FormRewriterControlAdapter"/>
</controlAdapters>
</browser>
</browsers>
复制代码
PS: refID:不可以与ID和arentID同时存在
第四步:配置web.config
1 .在configuration节点下添加
<configSections>
<section name="CustomConfiguration" type="URLRewriter.Config.UrlsSection, URLRewriter"/>
</configSections>
<CustomConfiguration>
<urls>
<!--([\w]+)表示,1到n个字母或数字或下划线或汉字组成-->
<add virtualUrl="~/([\w]+)*" destinationUrl="~/Default.aspx?username=$1"/>
</urls>
</CustomConfiguration>
复制代码
PS:正则的部分,要根据不同的规则去写,如果有不会的,可以留下详细规则,我看到后会尽快回复!!
2.在System.web节点下添加
<httpModules>
<add type="URLRewriter.RewriterModule, URLRewriter" name="RewriterModule"/>
</httpModules>
复制代码
解释一下httpModules的的Add节点属性:
type:HttpModule的标识号和类库名称
name:取一个较为友好的名称
用MSDN的截图来解释一下
第五步:测式
1.在项目Default.aspx.cs文件Load事件中加入
if (!IsPostBack)
{
StringBuilder sb = new StringBuilder();
sb.Append("当前所在位置:Default.aspx<br/>");
if (!string.IsNullOrEmpty(Request.Params["username"]))
{
sb.Append("所接收到的参数username:" + Request.Params["username"]);
}
Response.Write(sb.ToString());
}
复制代码
这里的测试主要是测试直接用重写后规则访问,看是否访问成功,并测试是否能够接收到username参数
还有输入重写前的地址,是否能访问成功
测试一:找开----->http://localhost:13275/Default.aspx
结果(aspx页输出)------>当前所在位置:Default.aspx
测试二:找开----->http://localhost:13275/wilson
结果(aspx页输出)------>当前所在位置:Default.aspx
所接收到的参数username:wilson
第六步:在IIS7.5里配置
完成前五步后,直接运行VS可以重写成功,但发布在IIS中时就会有相应的错误,这样需要配置一下IIS,详情请看下面博客地址
http://www.cnblogs.com/zhongweiv/archive/2011/10/29/UrlRewriter_IIS.html
源码下载地址一:http://download.csdn.net/detail/porschev/3705332
源码下载地址二:http://files.cnblogs.com/zhongweiv/UrlRewriterDemo.rar
接上一篇 .NET4.0下网站应用程序用UrlRewriter.dll重写无后缀路径在IIS中新建网站(端口号8111)
直接运行http://localhost:8111/
错误截图 配置方法:
二、添加通配符脚本映射,选择:C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll
三、找到和网站相对的连接池,选择framework 4.0 经典模式
四、选择应用程序连接池,高级设置,启用32位应用程序,设为true