当前位置:编程学习 > C#/ASP.NET >>

怎么让网站去掉aspx后缀!

比如必应:http://cn.bing.com/search?q=abc
他没有显示后缀。。这个怎么实现的,。。谢谢不胜感激! --------------------编程问答-------------------- 嗯,留贴,关注,学习中 --------------------编程问答-------------------- google搜搜url重写 --------------------编程问答-------------------- 重写 或 静态 或 伪静态  --------------------编程问答-------------------- 伪静态重写成没有后缀名的 --------------------编程问答-------------------- 占这位,学习 --------------------编程问答-------------------- 那怎么伪静态,怎么重写,有具体的代码让我们看看吗? --------------------编程问答-------------------- 重写 或 静态 或 伪静态 或者 框架 --------------------编程问答-------------------- urlXXXXXX?开玩笑。

你只要为search目录设置默认文档的名字,例如haha.aspx,那么 http://cn.bing.com/search?q=abc
就会被iis 自动执行 http://cn.bing.com/search/haha.aspx?q=abc --------------------编程问答-------------------- 默认情况下,asp.net网站都会自动设置默认文档例如“index.html、default.aspx”等等多个,因此所有目录都从网站根目录下继承。于是你也不用设置,只要search目录下有default.aspx文件那么上面的url就会被iis执行为

http://cn.bing.com/search/default.aspx?q=abc

因此,不用设置任何内容,只要每个目录下放一个default.aspx,你就可以让整站不出现后缀了! --------------------编程问答--------------------
引用 9 楼 sp1234 的回复:
默认情况下,asp.net网站都会自动设置默认文档例如“index.html、default.aspx”等等多个,因此所有目录都从网站根目录下继承。于是你也不用设置,只要search目录下有default.aspx文件那么上面的url就会被iis执行为

http://cn.bing.com/search/default.aspx?q=abc

因此,不用设置任何内容,只要每个目录下放一个……


说的对!五颗星就是NB --------------------编程问答-------------------- 理解了              。。。大家都是高手来着! --------------------编程问答-------------------- sp说的对。。。 --------------------编程问答-------------------- 还是在你程序中重写URL 比较好 --------------------编程问答-------------------- mvc 里面不是都没有后缀吗
--------------------编程问答-------------------- 膜拜SP1234大神  --------------------编程问答-------------------- 用路由 --------------------编程问答-------------------- 使用路由就可以了  --------------------编程问答-------------------- 只在MVC里面用路由实现过伪静态 --------------------编程问答-------------------- 需要修改IIS配置 --------------------编程问答-------------------- 来看哈  --------------------编程问答-------------------- 我也来 参加讨论 --------------------编程问答-------------------- 嗯,学习了 --------------------编程问答-------------------- mvc都是没后缀的 但是不够成熟吧整个ASP.NET MVC 2.0 --------------------编程问答-------------------- 学习了,  --------------------编程问答--------------------  9 楼 的说得对 --------------------编程问答-------------------- 或者参考使用IHttpModule,在global.asax里面注册一下,所有的访问都进入到一个自定义的类里面,然后自己再决定怎么抛出 --------------------编程问答-------------------- 没看明白!不过应该很有用的 --------------------编程问答-------------------- 具体参照http管道的相关知识,实现URL重写。这个子啊msdn上面也有相关的示例,google一下就出来了。
另一种方式就是使用mvc框架进行路由。 --------------------编程问答--------------------
引用 8 楼 sp1234 的回复:
urlXXXXXX?开玩笑。

你只要为search目录设置默认文档的名字,例如haha.aspx,那么 http://cn.bing.com/search?q=abc
就会被iis 自动执行 http://cn.bing.com/search/haha.aspx?q=abc
学习了。貌似都是Default。aspx的呢 --------------------编程问答-------------------- 查看伪静态 --------------------编程问答-------------------- 占个位
--------------------编程问答-------------------- 学习。。。。能人真多呢??? --------------------编程问答-------------------- http://msdn.microsoft.com/zh-cn/library/ms972974.aspx
有详细讲解,如果没耐性,可直接看代码 --------------------编程问答--------------------  没怎么看懂啊 !继续等待懂的人说的详细点 --------------------编程问答-------------------- 直接在IIS里每个aspx文件放一个目录,在IIS里将该文件设为该目录的默认页面就行啦! --------------------编程问答-------------------- 学习。。。 --------------------编程问答-------------------- 不要遇到没有后缀 就说是  重写的

很早以前 人们就用 文件夹+index.html  的方式来做 无后缀了 --------------------编程问答-------------------- 不是很明白。。。。 --------------------编程问答-------------------- 学习!!! --------------------编程问答-------------------- 这么多回帖,10分 --------------------编程问答-------------------- 重写了。伪静态 --------------------编程问答-------------------- 用aps.net mvc2开发就没后缀 --------------------编程问答-------------------- 恩 URL重写 伪静态 --------------------编程问答--------------------
引用 9 楼 sp1234 的回复:
默认情况下,asp.net网站都会自动设置默认文档例如“index.html、default.aspx”等等多个,因此所有目录都从网站根目录下继承。于是你也不用设置,只要search目录下有default.aspx文件那么上面的url就会被iis执行为

http://cn.bing.com/search/default.aspx?q=abc

因此,不用设置任何内容,只要每个目录下放一个……


应该不是这样的吧,
我以前试过,如果是目录的话,?前面要加斜杠的
http://cn.bing.com/search/?q=abc
刚才又去试了,如果不加斜杠,浏览器会自动加上,不过地址栏也就变了 --------------------编程问答-------------------- mvc吧 --------------------编程问答-------------------- 我用过伪静态的,但是有后缀名是.html.



string aspxUrl = Request.Url.AbsolutePath;
        //string name = Request.Url.AbsolutePath.Substring(1, Request.Url.AbsolutePath.Length - 1).Replace("aspx", "html");
        string newurl = "";
        string num = "";

        string queryUrl = Request.Url.Query.ToString();
        if (queryUrl != "")
        {
            num = queryUrl.Substring(queryUrl.IndexOf("=") + 1);
        }
        newurl = Server.MapPath(aspxUrl).Replace(".aspx", num + ".html");

        MemoryStream ms = new MemoryStream();
        StreamWriter sww = new StreamWriter(ms);
        StreamWriter sw = new StreamWriter(newurl);
        System.Web.UI.HtmlTextWriter htmltw = new HtmlTextWriter(sw);
        base.Render(htmltw);
        htmltw.Flush();
        htmltw.Close();
        string strll = System.Text.Encoding.UTF8.GetString(ms.ToArray());
        Response.Write(strll);
        Response.Redirect(Request.Url.AbsolutePath.Replace(".aspx", num + ".html"), true);

你可以去掉替换的.html --------------------编程问答-------------------- 没试过,你可以试一试
修改IIS站点启动的默认文档 --------------------编程问答-------------------- mark 牛人 --------------------编程问答-------------------- url重写 --------------------编程问答-------------------- 学习学习 --------------------编程问答-------------------- sp1234的没看明白,似乎很厉害,但是没看明白 --------------------编程问答--------------------
引用 9 楼 sp1234 的回复:
默认情况下,asp.net网站都会自动设置默认文档例如“index.html、default.aspx”等等多个,因此所有目录都从网站根目录下继承。于是你也不用设置,只要search目录下有default.aspx文件那么上面的url就会被iis执行为

http://cn.bing.com/search/default.aspx?q=abc

因此,不用设置任何内容,只要每个目录下放一个……

好方法!
--------------------编程问答--------------------  找个控件 IIS 里面重写 url 就行了 --------------------编程问答-------------------- url重写技术 --------------------编程问答--------------------
引用 9 楼 sp1234 的回复:
默认情况下,asp.net网站都会自动设置默认文档例如“index.html、default.aspx”等等多个,因此所有目录都从网站根目录下继承。于是你也不用设置,只要search目录下有default.aspx文件那么上面的url就会被iis执行为

http://cn.bing.com/search/default.aspx?q=abc

因此,不用设置任何内容,只要每个目录下放一……


学习..  强大 --------------------编程问答-------------------- 学习一下~~~~ --------------------编程问答--------------------
引用 9 楼 sp1234 的回复:
默认情况下,asp.net网站都会自动设置默认文档例如“index.html、default.aspx”等等多个,因此所有目录都从网站根目录下继承。于是你也不用设置,只要search目录下有default.aspx文件那么上面的url就会被iis执行为

http://cn.bing.com/search/default.aspx?q=abc

因此,不用设置任何内容,只要每个目录下放一……

膜拜.... --------------------编程问答--------------------
引用 9 楼 sp1234 的回复:
默认情况下,asp.net网站都会自动设置默认文档例如“index.html、default.aspx”等等多个,因此所有目录都从网站根目录下继承。于是你也不用设置,只要search目录下有default.aspx文件那么上面的url就会被iis执行为

http://cn.bing.com/search/default.aspx?q=abc

因此,不用设置任何内容,只要每个目录下放一……


我靠,真是世外高人,吾等膜拜之 --------------------编程问答-------------------- --------------------编程问答-------------------- 就是URL静态。。。

伪静态!! --------------------编程问答-------------------- 三种方法或者更多:
1、伪静态
2、过滤
3、使用Asp.net MVC模式,注意:不是MVC模式。 --------------------编程问答-------------------- http://msdn.microsoft.com/zh-cn/library/ms972974.aspx --------------------编程问答-------------------- 学习了...
怪不得以前看见csdn里面的网站都是那样的url... --------------------编程问答-------------------- 有高手学习 --------------------编程问答--------------------

重写 或 静态 或 伪静态 --------------------编程问答-------------------- 留贴,关注。。 --------------------编程问答--------------------
引用 3 楼 luqc1985 的回复:
重写 或 静态 或 伪静态


正解 --------------------编程问答-------------------- 都说的是重写、静态。伪静态。到底怎么实现呢? --------------------编程问答--------------------
引用 9 楼 sp1234 的回复:
默认情况下,asp.net网站都会自动设置默认文档例如“index.html、default.aspx”等等多个,因此所有目录都从网站根目录下继承。于是你也不用设置,只要search目录下有default.aspx文件那么上面的url就会被iis执行为

http://cn.bing.com/search/default.aspx?q=abc

因此,不用设置任何内容,只要每个目录下放一……

Good --------------------编程问答-------------------- 可以实现.楼主可以参考一下 
http://leonardleonard.javaeye.com/blog/276662 --------------------编程问答-------------------- --------------------编程问答-------------------- 学习! --------------------编程问答-------------------- 我怎么看得有些糊涂啊。 --------------------编程问答-------------------- http://www.asp.net/mvc

补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,