Asp伪静态的实现及URL重写
精通MYIIS-URLRewrite(假静态)
精通MYIIS-URLRewrite(假静态)假静态)什么叫URLrewrite呢?它的中文名字叫Url重写(假静态)。
也就是URL改写的意思。
URL的重写之所以得到如此大的应用潜力发挥,主要还是归功于搜索引擎对网站页面的搜索规则推动的。
下面是一个简单的URL地址:http://www.135********.cn/myurl.asp?id=7788520源代码的内容如下:输出的结果也是相当的简单:估计对ASP了解的用户都知道这个程序的含义。
一. 简单的改造我们现在打开VIF ,来到URL 重写栏目。
为这个站增加一个有趣的规则:而实际上在服务器上面 Myurl.htm 是根本不存在的一个文件。
访问看看:关于正则表达式的解释,我们不想过多的去讲解,大家可以去网站上学习一下。
通过上面的例子通过上面的例子,,大家可以发挥自己的想象做出更多的设置来大家可以发挥自己的想象做出更多的设置来。
可以看出可以看出,,如果直接访问myurl.htm 实际是访问了一个带参数的ASP 文件文件。
亮点:试想当你把一个FORM 表单提交给一个HTML 文件来处理,这是多么的牛B 啊。
或者哪天你把这一个FORM 提交给一个TXT 文件,CGI 文件处理的话,不是档次更高了? 二.加入点正则的味道进来上面我们只是玩了一个小把戏,现在我们加入一点正则的东西进来。
看看是不是会为我们增色不少。
现在我们这样修改刚刚的规则:这样的规则是什么呢?按正则的解释就是,凡是类似myurl_123.htm,myurl_333.htm, myurl_39781.htm, myurl_1233.htm……..括号里是数字的文件,都将自动应用到/myurl.asp后面的ID的参数部分,以替换$1这个标记。
规则生效后,我们访问看看:再来看一张:聪明的朋友可能早就看出了这其中的端倪了。
如果你是一个强者,你可以容入更多功能更强大正则表达式。
在软件的正则部分,我们用VC代码开发制作,速度保证第一。
url重写(伪静态)IIS配置图解-^特殊П佀命^-博客园
url重写(伪静态)IIS配置图解-^特殊П佀命^-博客园
url重写(伪静态)IIS配置图解
伪静态是指动态网页通过重写URL的方法实现去掉动态网页的参数
伪静态的作用:
一)、利于搜索引擎的抓取
二)、不变应完变
三)、防止某些黑客恶意攻击
四)、方便访问者使用
通过IIS创建虚拟目录,新建网站放在该目录下面;
IIS配置:
在选中的网站,点击右键->属性选择配置:
把上面两个文本框的值复制走保存在记事本里面点击确定
注意下面几个勾了的地方
把刚才复制的值粘贴在上面,注意添加扩展名.html,去掉检查文件是否存在复选:
点击确定 IIS就配置Ok啦。
网站伪静态方法
从网上找到的几种静态化方法,时间长了,也忘了出处,不过大家还是可以学习一下。
几种静态化方法:1.使用IIS_ReWrite静态化处理,适合PHP、ASP、程序。
A.isapi_rewrite.isapi_rewrite分精简(lite)和完全(full)版.精简版不支持对每个虚拟主机站点进行重写,只能进行全局处理,精简版下载地址ISAPI_Rewrite2.7For IIS。
B.打开IIS,选择网站,右键菜单属性,添加过滤器。
如图:C.打开文件:开始菜单->程序->Helicon->ISAPI_Rewrite->httpd.iniD.将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.rarB.解压后将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=13.使用开发的网页程序,使用URLRewriter.dll实现静态化。
IIS7.0设置 url重写成html(伪静态)
IIS7.0设置url重写成html(伪静态)前提条件:先把IIS应用程序池的托管管理道模式为集成(为了可以做第3,4步)首先在IIS中的站点里,找到处理程序映射。
双击进去1、添加脚本映射(路径:*.html 可执行文件%windir%Frameworkv2.0.50727aspnet_isapi.dll 名称:任意,比如Html )2、添加通配符脚本映射(路径:* 可执行文件:C:\Windows\\Frameworkv2.0.\50727\aspnet_isapi.dll 名称:任意,比如All)3、托管处理程序映射(路径:*.html 可执行文件:System.Web.UI.PageHandlerFactory 名称任意比如Html-Integrate)4、IIS中找到模块(双击进去)-->添加托管模块---->(名称:任意如All 类型:URLRewriter.ModuleRewrite把仅针对向 应用程序或托管处理程序发出请求调用勾上5、将应用程序池的托管管理道模式为经典以上步骤是针对32位电脑系统所写,如果您的电脑是64位系统,需要再设置如下一个步骤选择重写站点对应的应用程序连接池,高级设置,启用32位应用程序,设为true上面设置完,重写成HTML肯定成功,但是II7或以上有个bug,也就是真实存在的html 没有办法访问,下面我给大家提供一个可以解决的办法,也就是在webconfig里加下配置就能解决:<system.web><httpHandlers><add verb="*" path="*.html" type="System.Web.UI.PageHandlerFactory"/></httpHandlers><compilation debug="true" targetFramework="4.0"><buildProviders><add extension=".html" type="pilation.PageBuildProvider"/></buildProviders></compilation><globalization requestEncoding="utf-8" responseEncoding="utf-8" /><httpRuntime requestValidationMode="2.0" /><pages validateRequest="false" /></system.web>上面加红色的就是了。
PHP简单的伪静态URL机制实现
PHP简单的伪静态URL机制实现PHP简单的伪静态URL机制实现PHP虽然是一门新语言,但是如果编程语言写的好容易上手。
以下是店铺精心为大家整理的PHP教程,希望对大家有所帮助!更多内容请关注应届毕业生网!曾几何时,我们公司准备开发一套新的建站系统,决定将以前的框架给KO掉,重新开发一套新的框架来适应新的系统功能。
领导们不希望使用外面已有的框架,号称要开发有自己特色的框架(不懂开发的领导害死人)。
于是我们又投入到了新的开发当中。
由于我们的系统支持伪静态,以前的系统是直接使用服务器apache或IIS自带的rewrite文件定义规则,而框架中没有任何路由机制,于是这次框架准备使用新的策略,由PHP实现路由机制。
于是我开始了功能实现的探索之路。
开发之前,我先了解‘路由机制’要做什么,它主要做两件事。
1.路由机制就是把某一个特定形式的URL结构中提炼出来系统对应的参数。
举个例子,如:/article/1 其中:/article/1 -> ?_m=article&id=1。
2.其次,是将拥有对应参数的URL转换成特定形式的URL结构,是上面的过程的逆向过程。
由于路由机制隔离了URL结构和参数的转换关系,使的日后结构的变化不会影响下面代码的执行。
通过上面的了解,可以得出要编写一个路由机制要一下几步:1.编写服务器apache或IIS自带的rewrite文件,将URL结构导入index.php。
2.一个路由规则配置文件。
3.一个路由解析器,用来解析规则,匹配和转换URL。
于是,我们一一实现其中的每一个部分。
1.rewrite文件编写,以Apache为例:1 2 3 <IfModule mod_rewrite.c> RewriteEngine OnRewriteRule ^index\.php$ - [L]4 5 6 7 RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule (.+) index.php/$1[L]</IfModule>上面的代码就是将URL结构导入index.php中,具体的`rewrite细节就不赘述了。
如何通过RewritePath方法重写Url地址实现伪静态
如何通过RewritePath方法重写Url地址实现伪静态各位在浏览本站时如果细心一些,就会发现本站的Url地址全都是目录式的,也就是像我的电脑中文件夹式的目录结构,地址中不包含文件名。
以前在网上也看到有人问到这种目录式Url的实现方法,本站是通过重写Url地址来实现的,本章就说说小站的实现方法,当然,实现该功能的方法多种多样,不仅仅限于小站以下要说的方法。
1,首先新建一个类库项目,将自动生成的Class1文件删掉,自己创建一个HttpModule.cs类。
2,修改代码,使HttpModule.cs类继承自IHttpModule接口,继承该接口必须实现void Dispose();void Init(HttpApplication context);两个方法,Dispose方法我们可不用管它,我们仅需要在Init方法中实现HttpApplication 的BeginRequest事件即可,代码如下:public void Init(HttpApplication context){context.BeginRequest += new EventHandler(context_BeginRequest);}context_BeginRequest事件如下:void context_BeginRequest(object sender, EventArgs e){HttpApplication application = (HttpApplication)sender;HttpContext context = application.Context;string path = context.Request.Path;//以上这句代码是实现客户端请求的虚拟路径,如本站中的某链接的地址为/ab/CatalogID1,那么当浏览器者点击该链接的时候,context.Request.Path的值就是/ab/CatalogID1了。
伪静态 规则
伪静态规则
伪静态规则是指在服务器端通过URL重写或其他方法来模拟
静态页面的效果。
在传统的动态网站中,每次请求一个页面时,服务器都会执行一系列的动态处理过程,生成最终的HTML
代码返回给浏览器。
而伪静态规则可以让服务器将动态生成的页面保存为静态文件,并通过URL重写等方式将请求指向对
应的静态文件,从而避免了每次请求都执行一次动态处理过程。
伪静态规则的使用可以有效提高网站的访问速度和性能,减轻服务器的负载。
因为静态文件可以直接由服务器返回,不需要经过动态处理过程,所以响应速度更快。
同时,静态文件也可以被浏览器缓存,进一步加快页面加载速度。
常见的伪静态规则包括将动态页面的URL转换为带有.html扩
展名的静态URL,或者将动态URL中的参数部分隐藏或简化,使用更友好的URL形式。
伪静态规则的实现可以通过服务器
配置文件、插件、框架等方式来完成,具体的规则和实现方式会根据服务器和应用程序的不同而有所差异。
三种实现PHP伪静态页面的方法
三种实现PHP伪静态页⾯的⽅法PHP伪静态写法--其⼀伪静态⼜名:URL重写主要是为了SEO⽽⽣的。
(SEO是什么?这个不⽤问我吧。
呵呵~搞⽹络的不懂SEO那就~~~~)⽅法⼀:⽐如这个⽹页/soft.php/1,100,8630.html其实处理的脚本是soft.php 参数为1,100,8630相当于soft.php?a=1&b=1=100&c=8630 只不过这样的URL太难记。
搜索引擎也不喜欢。
真静态只是完全⽣成了HTML。
客户端访问的时候直接输出。
不⽤脚本解释。
在流量⾮常⼤的时候(⽐如每天有上百万的访问量的时候)会起到很好的效果。
也就是说服务器端实实在在的存在这个HTML页⾯。
当然在你⽹站的流量没有那么⼤的时候。
URL重写是最好的⽅法(个⼈观点,⼤流量的时候可以考虑负载均衡了。
同样没有关系)附URL重写的⽅法有很多种,APACHE,IISREWRITE。
甚⾄PHP脚本都可以直接处理。
⽐如上例中就是PHP脚本直接处理(该⽅法好处是⼤流量的时候直接减轻WEB伺服器的压⼒。
PS:同样也是个⼈观点:================================================下⾯以程序为例讲⼀下PHP伪静态的程序实现⽅法,其实这⽅法我之前已经有在其它论坛社区发过程序为例:/soft.php/1,100,8630.htmlCODE://利⽤server变量取得PATH_INFO信息该例中为 /1,100,8630.html 也就是执⾏脚本名后⾯的部分if(@$path_info =$_SERVER["PATH_INFO"]){//正则匹配⼀下参数if(preg_match("/\/(\d+),(\d+),(\d+)\.html/si",$path_info,$arr_path)){$gid =intval($arr_path[1]); //取得值 1$sid =intval($arr_path[2]); //取得值100$softid =intval($arr_path[3]); //取得值8630}else die("Path:Error!");//相当于soft.php?gid=1&sid=100&softid=8630//就是这么简单了。
301_伪静态_url重写
伪静态(Rewrite).htaccess文件详解.htaccess文件使用详解1.1 什么是.htaccess文件从本指南中,你将可以学习到有关.htaccess文件及其功能的知识,并用以优化你的网站。
尽管.htaccess 只是一个文件,但它可以更改服务器的设置,允许你做许多不同的事情,最流行的功能是您可以创建自定义的“404 error”页面。
.htaccess 并不难于使用,归根结底,它只是在一个text文档中添加几条简单的指令而已。
首先你要判断主机支持它这可能很难用简单的答案来回答。
许多主机支持.htaccess,但实际上并不会特别声明,许多其他类型的主机有能力但并不允许他们的用户使用. htaccess。
一般来说,如果你的主机使用Unix或Linux系统,或任何版本的Apache网络服务器,从理论上都是支持.htaccess的,尽管你的主机服务商可能不允许你使用它。
判断你的主机是否允许.htaccess,一个标志很好的是它是否支持文件夹密码保护。
为达到此功能,主机服务商需要使用.htaccess(当然,少数情况下他们虽提供密码保护功能,但却并不允许你使用.htaccess)。
如果你不确定自己的主机是否支持. htaccess,最好的办法是上传你自己的.htaccess文件看看是否有用,或者直接发送e-mail向你的主机服务商咨询。
Apache系统中的.htaccess文件(或者”分布式配置文件”提供了针对目录改变配置的方法,即,在一个特定的文档目录中放置一个包含一个或多个指令的文件,以作用于此目录及其所有子目录。
作为用户,所能使用的命令受到限制。
管理员可以通过Apache的AllowOverride指令来设置。
子目录中的指令会覆盖更高级目录或者主服务器配置文件中的指令。
.htaccess必须以ASCII模式上传,最好将其权限设置为644。
.htaccess可以做大量的事情,包括:文件夹密码保护、用户自动重定向、自定义错误页面、改变你的文件扩展名、封禁特定IP地址的用户、只允许特定IP地址的用户、禁止目录列表,以及使用其他文件作为index文件。
伪静态配置及写法
RewriteCond Host: ([0-9]+)\.XXX\.com
RewriteRule ^/register/ /School/Register\.aspx\?userid\=$1 [I]
RewriteCond Host: ([0-9]+)\.XXX\.com
RewriteRule ^/contact/ /School/Contactus\.aspx\?userid\=$1 [I]
RewriteRule ^/register/([0-9]+)/ /School/Register\.aspx\?userid\=$1&id\=$2 [I]
#课程分页
RewriteCond Host: ([0-9]+)\.XXX\.com
RewriteRule ^/course/page([0-9]+)/ /School/Classlist\.aspx\?userid\=$1&page\=$2 [I]
FULL版本可以在这儿下载:
/soft/fullrewrite.rar
下载后,您可以解压文件,将里面的ISAPI_Rewrite.dll等所有文件都放在C:\iisrewrite目录中,然后,您需要给C:\iisrewrite目录加上adms,system全部的权限、Users读与运行的权限,如果您不加上Users的权限,就会造成IIS无法启动。
1、伪静态服务器权限配置
ISAPIRewrite是外国开发的静态化组件,有部分虚拟主机用户会需要用到它,ISAPIRewrite分开Lite版本及FULL版本,其中,FULL版本是能给每个虚拟主机用户单独配置 Rewrite的规则的,虚拟主机用户只需要上传http.ini到web 下自己配置规则就可以使用了。
destoon之URLRewrite(伪静态)设置方法详解
destoon之URLRewrite(伪静态)设置⽅法详解# Destoon B2B Rewrite RulesErrorDocument 404 /404.phpRewriteEngine OnRewriteBase /RewriteRule ^(.*)\.(asp|aspx|asa|asax|dll|jsp|cgi|fcgi|pl)(.*)$ /404.phpRewriteRule ^(.*)/file/(.*)\.php(.*)$ /404.phpRewriteRule ^(.*)-htm-(.*)$ $1.php?$2RewriteRule ^(.*)/show-([0-9]+)([\-])?([0-9]+)?\.html$ $1/show.php?itemid=$2&page=$4RewriteRule ^(.*)/list-([0-9]+)([\-])?([0-9]+)?\.html$ $1/list.php?catid=$2&page=$4RewriteRule ^(.*)/show/([0-9]+)/([0-9]+)?([/])?$ $1/show.php?itemid=$2&page=$3RewriteRule ^(.*)/list/([0-9]+)/([0-9]+)?([/])?$ $1/list.php?catid=$2&page=$3RewriteRule ^(.*)/([A-za-z0-9_\-]+)-c([0-9]+)-([0-9]+)\.html$ $1/list.php?catid=$3&page=$4RewriteRule ^(.*)/([a-z]+)/(.*)\.shtml$ $1/$2/index.php?rewrite=$3RewriteRule ^(com)/([a-z0-9_\-]+)/([a-z]+)/(.*)\.html$ index.php?homepage=$2&file=$3&rewrite=$4RewriteRule ^(com)/([a-z0-9_\-]+)/([a-z]+)([/])?$ index.php?homepage=$2&file=$3RewriteRule ^(com)/([a-z0-9_\-]+)([/])?$ index.php?homepage=$22、如果是Apache服务器:Apache 1.x 的⽤户请检查 conf/httpd.conf 中是否存在如下两段代码:LoadModule rewrite_module libexec/mod_rewrite.soAddModule mod_rewrite.cApache 2.x 的⽤户请检查 conf/httpd.conf 中是否存在如下⼀段代码:LoadModule rewrite_module modules/mod_rewrite.so如果存在,且以#开头,请删除#。
PHP伪静态的几种方法
PHP伪静态的几种方法PHP伪静态的几种方法伪静态并不是真正的静态,实质上也是动态页面。
以下是为大家分享的PHP伪静态的几种方法,供大家参考借鉴,欢迎浏览!首先,什么是伪静态:伪静态又名URL重写,是动态的网址看起来像静态的网址。
换句话说就是,动态网页通过重写URL 方法实现去掉动态网页的参数,但在实际的网页目录中并没有必要实现存在重写的页面。
另外在补充两个名词解析静态网址:纯静态HTML文档,能使用filetype:htm 查询到的网页动态网址:内容存于数据库中,根据要求显示内容,URL中以?# & 显示不同的参数,如:news.php?lang=cn&class=1&id=2 动态、静态、伪静态之间的利与弊(新)动态网址首先,动态网址目前对于Google来说,“不能被抓取”的说法是错误的,Google能够很好的处理动态网址并顺利抓取;其次“参数不能超过3个”的.说法也不正确,Google能够抓取参数超过3个的动态网址,不过,为了避免URL太长应尽量减少参数。
其次,动态网址有其一定的优势,以上面所说的news.php?lang=cn&class=1&id=2 为例,网址中的参数准确的告诉Google,此URL内容语言为cn、隶属于分类1、内容ID为2,更便于Google 对内容的识别处理。
最后,动态网址应尽量精简,特别是会话标识(sid)和查询(query)参数,容易造成大量相同页面。
静态网址首先,静态网址具有的绝对优势是其明晰,/product/nokia/n95.html和/about.html可以很容易被理解,从而在搜索结果中可能点击量相对较高。
其次,静态网址未必就是最好的网址形式,上述动态网址中说到,动态网址能够告诉Google一些可以识别的参数,而静态网址如果文档布置不够恰当(如:过于扁平化,将HTML文档全放在根目录下)及其他因素,反而不如静态网址为Google提供的参考信息丰富。
ASPNET伪静态 UrlRewrite(Url重写) 实现和配置------转载
伪静态 UrlRewrite(Url重写) 实现和配置------转载2010-08-30 11:06 来源:博客园作者:夏楚枫阅读:81次核心提示:大家一定经常在网络上看到很多网站的地址后缀都是用XX.HTML或者XX.ASPX等类似静态文件的标示来操作的吧,那么大家有怀疑过他真的是一个一个的静态生成的文件么,静态文件的生成的优缺有好有坏,对于访问量很大的网站,利用静态文件可提高服务器的核心提示:大家一定经常在网络上看到很多网站的地址后缀都是用XX.HTML或者XX.ASPX等类似静态文件的标示来操作的吧,那么大家有怀疑过他真的是一个一个的静态生成的文件么,静态文件的生成的优缺有好有坏,对于访问量很大的网站,利用静态文件可提高服务器的运行稳定和速度...大家一定经常在网络上看到很多网站的地址后缀都是用XX.HTML或者XX.ASPX等类似静态文件的标示来操作的吧,那么大家有怀疑过他真的是一个一个的静态生成的文件么,静态文件的生成的优缺有好有坏,对于访问量很大的网站,利用静态文件可提高服务器的运行稳定和速度,坏处就是生成列表的时候会因为增加一条记录从而需要所有相关的列表进行重构,当然不排除有的公司已经攻克的这个问题,但对于大众程序员来说,他依旧是个问题,而且生成的化对于中小型网站也不一定会比动态的号,因为管理比较麻烦。
结构以上事实,然后伪静态技术产生了,规范的说就是URL重写技术,他对于ASPX格式支持最好,当然也可以重写HTML格式的文件,但这需要IIS的设置,相对比来说,ASPX格式的更方便,本站就是采用了该URL重写技术,这个技术优点显而易见:方便搜索引擎收录,方便查看,等等。
那么接下来我们来看看如何配置他吧首先你要在你的项目里引用两个DLL:URLRewriter.dllActionlessForm.dll真正实现重写的是 URLRewriter.dll 但是如果你要实现分页,那么必须使用这个ActionlessForm.dllURLRewriter.dll1、下载文件下载地址1:/source/524514下载地址2:/UserFiles/URLRewriter.rar 下载地址3:/download/0/4/6/0463611e-a3f9-490d-a08c-877a83b797cf/MSDNURLRewriting.msi下载地址4:本站下载2、配置WEB.CONFIG文件在项目中引用这个程序集,伪静态语法...(例把.aspx 的页面用.html来表示,web.config文件中--> 添加以下节点 <configuration><configSections><section name="RewriterConfig" requirePermission= "false" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" /></configSections><RewriterConfig><Rules><RewriterRule><!--一个参数-><LookFor>~/cn/ss_(.[d]*).html</LookFor><SendTo>~/cn/news.aspx?id=$1</SendTo></RewriterRule><RewriterRule><!--传两个参数的--><LookFor>~/cn/ss_(.[d]*)0(.[w]*).html</Look For> <!--(.[d]*)(.[w]*).html 或者ss_,(.[0-9]*),(.[0-9]*).html--><SendTo><![CDATA[~/cn/news.aspx?id=$1&sid=$ 2]]></SendTo></RewriterRule><RewriterRule><!--三个参数--><LookFor>~/cn/ss_(.[d]*)0(.[w]*)0(.[w]*).ht ml</LookFor><SendTo><![CDATA[~/ZH-CN/news.aspx?id=$1&si d=$2&n_id=$3]]></SendTo></RewriterRule><RewriterRule><LookFor>~/dfsaddf/index(d*).html</LookFor><SendTo>~/Favorites_Page.aspx</SendTo></RewriterRule></Rules></RewriterConfig></configuration><system.web><httpHandlers><add verb="*" path="*.aspx" type="URLRew riter.RewriterFactoryHandler, URLRewriter" /><add verb="*" path="*.html" type="URLRew riter.RewriterFactoryHandler, URLRewriter" /></httpHandlers></system.web><!--<httpModules><add type="URLRewriter.ModuleRewriter, URLRew riter" name="ModuleRewriter"/></httpModules>-->设置完以上步骤,就基本可以运行了,其中<RewriterRule/>标签里面就是重写的一个模块,<LookFor/>里面的是重写后的地址,而<SendTo/>则是原地址。
ASP网站伪静态的多种方法
ASP生成静态网页的多种方法使用FSO生成<%'使用FSO生成Set fs = CreateObject("Scripting.FileSystemObject")NewFile=Server.MapPath("ud03/fso.htm")'新建一文件fso.htm,若该文件已存在,则覆盖它Set a = fs.CreateTextFile(NewFile, True)Response.Write"新文件已建立!"a.closeFile=Server.MapPath("ud03/fso.htm")Set txt=fs.OpenTextFile(File,8,True) '打开成可以在结尾写入数据的文件data1="这句话是使用WriteLine方法写入的。
!<Br>"txt.WriteLine data1data2="这句话是使用Write方法写入的。
<Br>"txt.Write data2txt.Close%>使用XMLHTTP生成<%'使用XMLHTTP生成Set xml = Server.CreateObject("Microsoft.XMLHTTP")'把下面的地址替换成你的首页的文件地址,一定要用http://开头的绝对路径,不能写相对路径xml.Open "GET", "/ud03/", Falsexml.SendBodyText=xml.ResponseBodyBodyText=BytesToBstr(BodyText,"gb2312")Set xml = NothingDim fso, MyFileSet fso = CreateObject("Scripting.FileSystemObject")Set MyFile= fso.CreateTextFile(server.MapPath("ud03.htm"), True) '生成的html的文件名MyFile.WriteLine(BodyText)MyFile.Close'使用Adodb.Stream处理二进制数据Function BytesToBstr(strBody,CodeBase)dim objStreamset objStream = Server.CreateObject("Adodb.Stream")objStream.Type = 1objStream.Mode =3objStream.OpenobjStream.Write strBodyobjStream.Position = 0objStream.Type = 2objStream.Charset = CodeBaseBytesToBstr = objStream.ReadTextobjStream.Closeset objStream = nothingEnd Function%>使用XMLHTTP批量生成<%'使用XMLHTTP批量生成dim strUrl,Item_Classid,id,FileName,FilePath,Do_Url,Html_Temp Html_Temp="<UL>"For i=1 To 30 '需要生成的id:1到30Html_Temp = Html_Temp&"<LI>"Item_Classid = iFileName = "Archives_"&Item_Classid&".htm" '生成的html文件名FilePath = Server.MapPath("/")&"\"&FileNameHtml_Temp = Html_Temp&FilePath&"</LI>"Do_Url = "/ud03/index.php" 'WEB路径Do_Url = Do_Url&"?p="&Item_Classid 'WEB路径之后的ID strUrl = Do_Urldim objXmlHttpset objXmlHttp = Server.CreateObject("Microsoft.XMLHTTP") objXmlHttp.open "GET",strUrl,falseobjXmlHttp.send()Dim binFileDatabinFileData = objXmlHttp.responseBodyDim objAdoStreamset objAdoStream = Server.CreateObject("ADODB.Stream") objAdoStream.Type = 1objAdoStream.Open()objAdoStream.Write(binFileData)objAdoStream.SaveToFile FilePath,2objAdoStream.Close()NextHtml_Temp = Html_Temp&"<UL>"%><%Response.Write ( "成功生成文件:" )Response.Write ( "<BR>" )Response.Write Html_Temp%>ASP用标签替换的方法生成静态网页大家都知道HTML静态网页更容易被搜索引擎收录索引,动态生成HTML网页,也可使网站的网页数量增多,搜索引擎收录的数量也可能多,再加下提高网页的质量也意未着什么呢?我想大家也知道。
asp如何实现伪静态和静态翻页的规则
相信很多做网站的新手,对网站伪静态不够了解,下面我就给大家介绍下,如何把ASP 动态网站伪装成html的,加翻页。
大家都知道,静态网页有利于收录,但是网站数据量大,采用纯静态页是很不利的,这就要用到伪静态技术。
下面说说IIS6下,ASP伪静态规则:IIS6.0 为伪静态规则要写在httpd.ini 中,httpd.ini要上传到网站根目录httpd.ini 内容开始:[ISAPI_Rewrite]# 3600 = 1 hourCacheClockRate 3600RepeatLimit 32# Block external access to the httpd.ini and httpd.parse.errors filesRewriteRule /httpd(?:\.ini|\.parse\.errors).* / [F,I,O]# Block external access to the Helper ISAPI ExtensionRewriteRule .*\.isrwhlp / [F,I,O]RewriteRule ^(.*)/index\.asp $1/index.htmlRewriteRule ^(.*)/([0-9]*).html $1/article.asp\?id=$2RewriteRule ^(.*)/([a-z]*)/([a-z]*)/ $1/list.asp\?x=$2&y=$3httpd.ini 内容结束说明:RewriteRule ^(.*)/index\.asp $1/index.html是将index.asp 伪静态为index.htmlRewriteRule ^(.*)/([0-9]*).html $1/article.asp\?id=$2文章页伪静态,把article.asp\?id=xxx映射成/xxx.html ,其中xxx为文章ID号,在article.asp 中接收id, id=request("id"), 根据ID有数据库中取数据即可RewriteRule ^(.*)/([a-z]*)/([a-z]*)/ $1/list.asp\?x=$2&y=$3文章列表页伪静态, 把/list.asp\?x=$2&y=$3 映射成如:/news/sports/ 格式,$2对应news,$3对应sports ,在数据库中取news中sports文[ISAPI_Rewrite]# 3600 = 1 hourCacheClockRate 3600RepeatLimit 32# Block external access to the httpd.ini and httpd.parse.errors filesRewriteRule /httpd(?:\.ini|\.parse\.errors).* / [F,I,O]# Block external access to the Helper ISAPI ExtensionRewriteRule .*\.isrwhlp / [F,I,O]RewriteRule ^(.*)tp/([0-9]*).html $1tp/pshpok.asp\?id=$2RewriteRule ^(.*)shua/([0-9]*).html $1shua/shuasp.asp\?id=$2RewriteRule ^(.*)xs/([0-9]*).html $1xs/poshop.asp\?id=$2翻页RewriteRule ^(.*)/([0-9]*)_([0-9]*)\.html$ $1/shuasp\.asp\?id=$2&ym=$3RewriteRule ^(.*)/([0-9]*)-([0-9]*)\.html$ $1/poshop\.asp\?id=$2&ym=$3其中([a-z]*)代表任意字母,([0-9]*)代表数字本文来自发快廉价购物网( ()。
URL+Rewriter组件实现页面伪静态
中国信息化技术与应用·97·本、符号和标注来使用户的地图信息变得更加丰富。
除了上述特点之外,MapX 还能和其所支持的远程数据库诸如Oracle , MapInfo Spatial Ware 挂接,能通过数据绑定把数据库中的数据显示在地图中,能通过空间服务器提供的高级查询处理功能进行查询;若和GPS 相结合还能显示大面积上的移动对象。
这些特点也正是MapX 适用于开发地理信息系统的主要原因。
3.系统构成3. 1 系统功能简介本文文应用MapX 组件和面向对象编程语言Visual C++集成的二次开发模式,系统不仅具有GIS 软件必备的基本功能;同时还具有良好的可扩展性,使开发者能按照业务管理的变化添加其他应用。
系统的主要功能如下:1)导入图层。
用户能按照自己的需要导入各种图层。
2)编辑操作。
用户能按照不同的业务需求,在可编辑图层上进行图元标注、符号注释、文本注释等编辑操作。
3)地图工具。
具有地图的基本功能诸如放大、缩小、漫游、点选、框选等。
同时,为用户提供了工具栏,大大简化了用户操作。
4)图层管理。
在加点、加线、加面操作后,能选择其样式、颜色,使其更人性化,同时能查看整个图层。
5)地图和数据的维护。
为了适应不断发生的变化,地图和数据的维护能使系统得到充分的利用。
此功能能对空间数据进行修改、增删、调整等操作。
3. 2 系统结构组成图1 系统结构4.系统的实现在VC 环境下开发GIS 软件,首先要将MapX 作为控件插入到应用程序中,然后通过设置其属性、调用其方法、响应其事件来实现所需的具体功能。
此系统的开发步骤如下:4. 1 应用框架的生成在VC 环境下,利用生成向导“AppWizard",快速地生成MFC 的应用程序,进而得到标准的Windows 应用程序界面。
4. 2 添加MapX 支持类库和变且声明在Visual C++环境中,使用Project/Add To Project/Files ,添加MAPX.CPP 和MAPX.H 文件,将MapX 支持类库添加到当前工程中。
最全的伪静态规则和设置方法
最近陆续有很多站长过来询问伪静态的问题,现就分享下目前网上流行的各种程序在iis下的规则和设置方法:1、shopex4.8下载3.0的免费Rewrite组件/download/isapi_rewrite/ISAPI_Rewrite3_0056 _Lite.msi按照默认路径安装后,打开C:\ProgramFiles\Helicon\ISAPI_Rewrite3\httpd.conf加入以下规则:# Helicon ISAPI_Rewrite configuration file# Version 3.1.0.56RewriteBase /RewriteCond %{REQUEST_FILENAME}\.(html|htm|php|php2|php3|php4|php5|phtml|pwml|inc|asp|aspx|ascx|jsp| cfm|cfc|pl|cgi|shtml|shtm|phtm|xml)$RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule ^(.*)$ index.php?$1 [L][ISAPI_Rewrite]# 3600 = 1 hourCacheClockRate 3600RepeatLimit 32# Protect httpd.ini and httpd.parse.errors files# from accessing through HTTPRewriteRule^(.*)/archiver/((fid|tid)-[0-9]+\.html)\?*(.*)$ $1/archiver/index\.ph p\?$2&$4RewriteRule^(.*)/forum-([0-9]+)-([0-9]+)\.html\?*(.*)$ $1/forumdisplay\.php\?fid =$2&page=$3&$4RewriteRule^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html\?*(.*)$ $1/viewthread\. php\?tid=$2&extra=page\%3D$4&page=$3&$4RewriteRule^(.*)/space-(username|uid)-(.+)\.html\?*(.*)$ $1/space\.php\?$2=$3&$4RewriteRule ^(.*)/tag-(.+)\.html\?*(.*)$ $1/tag\.php\?name=$2&$3下面就需要配置iis为shopex4.8加载组件了:打开iis,右键你的站点属性--ISAPI 筛选器--添加--筛选器名称是ISAPI_Rewrite3 --可执行文件就是ISAPI_Rewrite.dll的路径,比如C:\Program Files\Helicon\ISAPI_Rewrite3\ISAPI_Rewrite.dll最后重启iis当然你可以把ISAPI_Rewrite3目录放入站点根目录下,但记得要给一个users读权限。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Asp伪静态的实现及URL重写
用ISAPI_Rewrite实现asp的静态化
ASP网站程序在国内运用很广,但是类似于im286.asp?id=20050307213811这样的URL有点不利于搜索引擎的收录,也就是说不符合友好URL(URLs-Friendly)的标准,那么我们用ISAPI_Rewrite打造一个Clean URL,
1.下载ISAPI_Rewrite.ISAPI_Rewrite分精简(Lite)和完全(Full)版.精简版不支持对每个虚拟主机站点进行重写,只能进行全局处理.不过对于有服务器的朋友,精简版也就够啦.精简版下载地址:/download/,就是那Lite Version (free)啦.
2.安装.msi的文件,和装一般程序一样装就可以了,俺就装在D:\ISAPI_Rewrite.
3.接下来一步比较重要哦,看仔细喽.打开Internet 信息服务,右键,web站点属性,电ISAPI筛选器选项卡.添加筛选器,名称自己填,路径自己指定ISAPI_Rewrite.dll,然后确定.
4.来测试一下.新建一个1ting.asp,里面写上
<%=request.querystring("inso")%>
,效果就是执行的时候1ting.asp?inso=*浏览器显示*.
5.这一步很重要哦,开始添加rewrite规则.正则,好头痛,幸亏这个例子比较简单.
找到ISAPI_Rewrite目录,把httpd.ini的只读属性去掉,打开编辑.我们要把1ting.asp?inso=im286映射成为
1ting-im286.html这样的类型,需要在httpd.ini里加上这么一行:
RewriteRule /1ting-([0-9,a-z]*).html /1ting.asp\?inso=$1
,保存.
6.来来来,到浏览器里查看一下效果吧.输入http://12
7.0.0.1/1ting.asp?inso=im286和
http://127.0.0.1/1ting-im286.html,显示的内容是不是都是im286?这就证明成功啦!
嘿嘿,1ting-im286.html这样的页面要比1ting.asp?inso=im286容易收入,所以现在还在用动态方式的朋友可以尝试一下这样的静态映射效果. IIS Rewrite也可以实现这样的功能。
------------------------------------------------------
ASP之URL重写
下载ISAPI_Rewrite解压到任意文件夹安装,给IIS用户读取权限,在IIS右键点击一个站点,属性,ISAPI筛选器,添加,筛选器名称一定得叫 re,可执行文件就点浏览找到你解压的目录Rewrite.dll加上即可。
重启IIS后应该就能支持URL重写规则了。
需要修改解压目录中的httpd.ini这个文件
RewriteRule /info_(\d+)\.htm /info\.asp\?id=$1 [N,I]
这句话就可以把提交的地址/info_122.htm映射到真正的地址 /info.asp?id=122
如果你在处理数据翻页,那么写法是:
More_<%=Page%>_<%=type%>.html (注:page是翻页页数,type是数据类型)
表现形式:More_1_95.html
如果翻下一页,则为:More_2_95.html,继续下一页的循环,则是:
More_3_95.html,以此类推。
不过你需要在httpd.ini文件中增加以下代码:
RewriteRule /More_(\d+)_(\d+)\.html /jsp/more\.jsp\?page=$1&type=$2 [N,I]
如果你的动态程序有多个参数需要传递,那么就增加多个(\d+)即可,如下:
RewriteRule /More_(\d+)_(\d+)_(\d+)\.html /jsp/more\.jsp\?page=$1&type=$2&type2=$3 [N,I]
翻页处理表现形式是:More_1_95.html
如果想把/info.asp?id=50#abc 转换成静态的网页
因为#abc是程序处理了ID=50这个变量生成静态页面之后按锚点又做了一次页内链接,所以应该这么做映射
/info.asp?id=50#abc转换成/info_50.htm#abc,重写规则如下:
RewriteRule /info_(\d+)\.htm#(\d+) /info\.asp\?id=$1#$2 [N,I]
注意:以前在Window 2000 IIS5.0一直使用ISAPI_Rewrite进行动态链接重写HTML静态网址,
最近升级到 Widnows 2003 IIS6.0 后,发现ISAPI_Rewrite根本运行不起来,在IIS 6.0里面一直提示“未加载”,后来查了又查,原来是文件的权限问题。
IIS 6.0 ISAPI_Rewrite 是在Service帐号下运行的,将数据文件的读写权限给予Service 帐号后,ISAPI_Rewrite 终于可以正常运行了。