| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1789 人关注过本帖, 1 人收藏
标题:asp.net中url重写
只看楼主 加入收藏
jshuangnan
Rank: 1
来 自:上海
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-7-4
结帖率:0
收藏(1)
已结贴  问题点数:20 回复次数:11 
asp.net中url重写
哪位高手会的url重写啊
不是在webConfig里面配置的那种
用类和html模板的!
搜索更多相关主题的帖子: url asp 重写 
2010-07-04 11:14
冰镇柠檬汁儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:北京
等 级:版主
威 望:120
帖 子:8078
专家分:6657
注 册:2005-11-7
收藏
得分:5 
你是说需要globe文件的那种吗?

本来无一物,何处惹尘埃
It is empty at all here, Why pm 2.5 is so TMD high!
2010-07-04 19:31
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:5 
用类和html模板的!
这个就是在html中指定一些特定的变量或者区域变量,然后在类中写一些方法,将动态的数据替换掉html中的变量,再保存成html文件就行了。
简单点说,就一个Replace

飘过~~
2010-07-05 11:23
冰镇柠檬汁儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:北京
等 级:版主
威 望:120
帖 子:8078
专家分:6657
注 册:2005-11-7
收藏
得分:0 
bygg能简单的举个例子吗,我没用过,你这么一说,不是很理解,用个简单的代码说明一下就好

本来无一物,何处惹尘埃
It is empty at all here, Why pm 2.5 is so TMD high!
2010-07-05 13:45
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:0 
用模块很简单,只是看实现的方式是什么。
比如有个html文件
程序代码:
<html>
<head>...</head>
<body>
    %content%
</body>
</html>
其中的%content%就可以看作是我们自定义的一个变量。
我们在程序中就可以将数据库中的内容读出来,然后将这个%content%替换掉,最后重新将这个html文件保存到另一个地方(或者是发布的网站目录下。)

就一个Repalce过程,所以这个方法是最简单的。

网页静态化,有许多好处:
1、 提高服务器性能, *.aspx之类的动态页面毕竟是还要经过服务器解析处理的,而静态页面服务器只要返回相应的文件就可以了。
2、说是安全性高(不用担心SQL注入这些东西了)。
3、容易被搜索引擎收录(好像网页搜索引擎处理静态页面更容易一点,想也是动态页面还要请求啊什么的)。
4、即使数据库出了问题,静态页面依旧可以毫无问题地在IE上展示。
……



飘过~~
2010-07-05 18:14
冰镇柠檬汁儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:北京
等 级:版主
威 望:120
帖 子:8078
专家分:6657
注 册:2005-11-7
收藏
得分:0 
哦,这样的啊,大体上了解了,3Q

本来无一物,何处惹尘埃
It is empty at all here, Why pm 2.5 is so TMD high!
2010-07-05 22:41
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:0 
这只是其中的一种,还有其他的方法。

飘过~~
2010-07-06 09:13
冰镇柠檬汁儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:北京
等 级:版主
威 望:120
帖 子:8078
专家分:6657
注 册:2005-11-7
收藏
得分:0 
你好厉害,再介绍几个呗

本来无一物,何处惹尘埃
It is empty at all here, Why pm 2.5 is so TMD high!
2010-07-06 09:19
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:0 
1. 使用IIS_ReWrite 静态化处理,适合PHP、ASP、 程序。
    A. isapi_rewrite.isapi_rewrite分精简(lite)和完全(full)版.精简版不支持对每个虚拟主机站点进行重写,只能进行全局处理,精简版下载地址ISAPI_Rewrite 2.7 For IIS 。
    B. 打开IIS,选择网站,右键菜单属性,添加过滤器。如图:
    C. 打开文件:开始菜单->程序->Helicon->ISAPI_Rewrite->httpd.ini
    D. 将RewriteRule /user/(\d+).htm /user.asp\?id=$1 [I,O] 加入内容中。
    E. 在浏览器地址栏输入:/user/1.htm 页面将指向/user.asp?id=1。

2. 使用虚拟主机的ASP 网站,需要使用404 错误操作实现静态化。
    A. 下载404 处理页面。404_Rewrite_GB2312.rar
    B. 解压后将Rewrite.asp、error.asp 放在网站的根目录。
    C. 设置网站自定义错误信息如图:
    D. 在error.asp 里添加处理命令:
        Call ParaseUrl("/(\d+).htm","/user.asp?User=$1")
    E. 在需要静态化的实例user.asp 页面中添加代码:
        <!-- #include virtual="/rewrite.asp" --> 引用文件
        <%
        response.write "<li>Para=" & session("Para") ‘变量是通过Session 传递
        ‘原来使用request(“user”)获得参数的命令,需要修改成request_(“user”)调用
        response.write "<li>request_(""User"")=" & request_("User")
        ‘原用request.querystring (“user”)获得参数命令,修改为request__.querystring (“user”)调用
        response.write "<li>request__.querystring(""User"")=" & request__.querystring("User")
        %>
    F. 在地址栏输入/1.htm ,实际调用/user.asp?user=1

3. 使用 开发的网页程序,使用URLRewriter.dll 实现静态化。
    A. 下载URLRewriter.rar,解压后放在/bin/目录下
    B. 将URLRewriter.rar 加入工程引用。
    C. 配置IIS 站点,将扩展名为html 指向处理程序aspnet_isapi.dll。
       IIS 站点->属性->主目录->配置->添加
       可执行文件和aspx 处理相同,都是 c:\windows\\framework\v2.0.50727\aspnet_isapi.dll
         特别注意,一定不要选择检查文件是否存在。
    D. 在web.config 中添加配置内容,压缩包里有。
   
程序代码:
<configSections>
    <section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />
    </configSections>
    <!-- 实际重定向-->
    <RewriterConfig>
    <Rules>
    <RewriterRule>
    <LookFor>~/(\d*).html</LookFor>
    <SendTo>~/user/default.aspx?link=$1</SendTo>
    </RewriterRule>
    </Rules>
    </RewriterConfig>
    <system.web>
    <!--
    需要在IIS 里面增加html 引用,改成aspx 的引用
    -->
    <httpHandlers>
    <add verb="*" path="*.aspx"
    type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
    <add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
    </httpHandlers>

    E. 在地址栏输入http://localhost/1.html 指向http://localhost/user/default.aspx?link=1

4. 基于Apache HTTP Server 静态化Apache Web Server 的配置(conf/httpd.conf )
    A. 在httpd.conf 文件中查找LoadModule rewrite_module modules/mod_rewrite.so
        通常该行被注释,去掉“#”。如果没有就增加该行。
    B. 加入代码:
        <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteRule ^/([0-9]+).html$ /user.php?user=$1
        </IfModule>
    C. 如果网站使用通过虚拟主机来定义,请务必加到虚拟主机配置文件.htccess 中去,否则可能无法使用。
    D. 重启Apache,重新载入配置。
    E. 在地址栏输入http://localhost/1.html ,实际指向http://localhost/user.php?user=1

5. 静态化后文件格式
    链接静态化后可以是html 文件,也可以是目录,通常目录的权重大于文件的权重,可以在搜索
    引擎中获得更好的排名。
    例如:优化前:[url]http://www.[/url]
    优化后文件:[url]http://www.[/url]
    目录:[url]http://www.[/url]
    同等条件下[url]http://www.[/url] 有更高的优先权。
    框架结构
    框架结构,即帧结构(Frame),包括IFrame,Frame。
    例如:框架结构示例。
程序代码:
<frameset rows="97,*" cols="*" frameborder="yes" border="0" framespacing="0">
<frame src="top.html" name="topFrame" frameborder="no" scrolling="No" noresize="noresize"
id="topFrame" title="topFrame" />
<frameset rows="*" cols="164,*" framespacing="0" frameborder="no" border="0">
<frame src="search_left/cat20.html?&catid=20&redirect=n" name="left"
frameborder="no" scrolling="yes" id="left" title="leftFrame" />
<frame src="CPU/cat20_list_1.html" name="main" id="main" scrolling="yes"
title="main">
</frameset>
</frameset>
<noframes>
在这里进行优化!
增加链接<a href=” [url]http://[/url]” title=” CPU报价”> CPU报价</a>
</noframes>
框架型网站的优越性体现在页面的整体一致性和更新方便上。尤其对于那些大型网站而言, 框架结
构的使用可以使网站的维护变得相对容易。但框架对搜索引擎来说是一个很大的问题,这是由于大
多数搜索引擎都无法识别框架,也没有什么兴趣去抓取框架中的内容。此外, 某些浏览器也不支持
框架页面。
如果网页已经使用了框架,或出于某种原因一定要使用框架结构,则必须在代码中使用“Noframes”
标签进行优化,把Noframe 标签看做是一个普通文本内容的主页。在<Noframe></Noframe>区域
中包含指向frame 页的链接以及带有关键词的描述文本,同时在框架以外的区域(title,meta)也出现
关键词文本。这样,搜索引擎才能够正确索引到框架内的信息。
还有一个办法是采用iframe 即内联框架(Inner Frame)技术来避免Frame 带来的不便。所
谓iframe 也是框架的一种形式,它是相当于在主浏览器窗口中内嵌一个子窗口,内容自动
打开。iframe 可以嵌在网页中的任意部分,也可以随意定义其大小,其代码显示为:
实例:<iframe src=xx width=x height=x scrolling=xx frameborder=x></iframe>
对搜索引擎来说,iframe 中的文字是可见的,也可以跟踪到其中链接指向的页面,不过与
用户所见不同的是,搜索引擎将iframe 内容看成单独的一个页面内容,与被内嵌的页面无
关。

网上找的,哈哈.

飘过~~
2010-07-06 09:37
冰镇柠檬汁儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:北京
等 级:版主
威 望:120
帖 子:8078
专家分:6657
注 册:2005-11-7
收藏
得分:0 
不错,呵呵

本来无一物,何处惹尘埃
It is empty at all here, Why pm 2.5 is so TMD high!
2010-07-06 09:43
快速回复:asp.net中url重写
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.041276 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved