IIS设置伪静态方法
url重写(伪静态)IIS配置图解-^特殊П佀命^-博客园
url重写(伪静态)IIS配置图解-^特殊П佀命^-博客园
url重写(伪静态)IIS配置图解
伪静态是指动态网页通过重写URL的方法实现去掉动态网页的参数
伪静态的作用:
一)、利于搜索引擎的抓取
二)、不变应完变
三)、防止某些黑客恶意攻击
四)、方便访问者使用
通过IIS创建虚拟目录,新建网站放在该目录下面;
IIS配置:
在选中的网站,点击右键->属性选择配置:
把上面两个文本框的值复制走保存在记事本里面点击确定
注意下面几个勾了的地方
把刚才复制的值粘贴在上面,注意添加扩展名.html,去掉检查文件是否存在复选:
点击确定 IIS就配置Ok啦。
IIS 7.5 配置伪静态详细图文教程
IIS 7.5 配置伪静态详细图文教程之前在IIS 6.0配置过伪静态:httpHandler实现.Net无后缀名Web访问。
现在服务器硬件升级了,操作系统也升级成了Windows Server 2008,好吧。
我们也来设置下IIS 7.5的伪静态1)首先新建一个应用程序池,名称任意,比如:nettest,托管管道模式先暂时设置为集成模式,等下面的一系列设置完成之后再设置成经典模式;2)部署好站点,并将此站点的应用程序池设置为nettest;3)选中站点,切换到功能试图,找到 '服务器组件'-> '处理程序映射',双击之后,在打开窗口右侧的操作栏目下做如下设置:4)'添加脚本映射':请求路径 .html ,可执行文件选择C:\Windows\\Framework\v2.0.50727\aspnet_isapi.dll ,如果是4.0,则为C:\Windows\\Framework\v4.0.30319\aspnet_isapi.dll,名称随意;5)'添加通配符脚本映射':请求路径 * ,可执行文件为:C:\Windows\\Framework\v2.0.50727\aspnet_isapi.dll,名称随意;6)'添加托管处理程序':请求路径 * ,可执行文件:System.Web.UI.PageHandlerFactory,名称随意;7)打开站点切换到功能试图,找到 '服务器组件'->'模块',双击之后,在打开窗口右侧的操作栏目中,点击'添加托管模块',类型URLRewriter.ModuleRewriter,并且把'仅针对向 应用程序或托管处理程序发出请求调用' 选中;8)最后,找到我们第一步建立的应用程序池nettest,将托管管道模式设置为经典模式。
IIS中如何配置asp伪静态网页
IIS中如何配置asp伪静态网页伪静态网页:顾名思义, 就是非真实静态网页,只是将动态网页的url映射到静态形式的url. 通常这样做是为了增强搜索引擎的友好性.但是有的朋友为了实时的显示一些信息.或者还想运用动态脚本解决一些问题.不能用静态的方式来展示网站内容.但是这就损失了对搜索引擎的友好面.怎么样在两者之间找个中间方法呢,这就产生了伪静态技术.就是展示出来的是以.html一类的静态页面形式,但其实是用ASP一类的动态脚本来处理的下面我们来看一下在IIS中设置伪静态的方法和步骤:1、在IIS的Isapi上添加这个筛选器,筛选器名称re,可执行文件选择Rewrite.dll;2、设置httpd.ini文件RewriteRule /news/(\d+)\.html /jsp/news\.jsp\?id=$1 [N,I]表示将news.jsp?id=95 转换成news/95.html以此类推,如果你有更多的参数,则增加相应的(\d+),而后面的id=$1,则增加id=$2,等等。
目前较为普遍的动态网页包括asp,php,jsp,shtml,jhtml,cgi......甚至还有一些自己定义的,比如:aspx,do,index,hello等等。
表现形式为:news.asp?id=95。
建议读者通过re_write将其转换成news/95.html,以便于google 对改网页的识别。
re_write是iis里的一个模块,下载地址:/blog/upload/re_write.rar 当需要将news.jsp?id=95的映射成news/95.html时,只需设置httpd.ini文件:RewriteRule /new如果你在处理数据翻页,那么写法是:More_<%=Page%>_<%=type%>.html (注:page是翻页页数,type是数据类型)表现形式:More_1_95.html如果翻下一页,则为:More_2_95.html,继续下一页的循环,则是:More_3_95.html,以此类推。
网站设置伪静态的详细可操作方法
1.下载UrlRewrite(/Simcoder/URLRewriter.rar)将它放在应用程序bin目录下并引用。
2.配置IIS 选择主目录然后点击配置找到“插入”:C:\WINDOWS\\Framework\v2.0.50727\aspnet_isapi.dll 在C盘找到aspnet_isapi.dll 文件找到该aspnet_isapi.dll 文件去掉确认文件是否存在然后扩展名改为:.html3.配置WebConfig<?xml version="1.0" encoding="utf-8"?><configuration><configSections><!--****************** --><section name="RewriterConfig"type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" /><!--******************* --></configSections><system.web><httpHandlers><remove verb="*" path="*.asmx"/><!--****************** --><add verb="*" path="*.aspx"type="URLRewriter.RewriterFactoryHandler, URLRewriter"/><add verb="*" path="*.html"type="URLRewriter.RewriterFactoryHandler, URLRewriter"/><!--**************** --></httpHandlers><httpModules><add name="ScriptModule"type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> </httpModules></system.web><!--****************** --><RewriterConfig><Rules><RewriterRule><LookFor>~/index.html</LookFor><SendTo>~/index.aspx</SendTo></RewriterRule></RewriterConfig><!--***************** --></configuration>4.正则表达式<RewriterRule><LookFor>~/(.*).html</LookFor><SendTo>~/$1.aspx</SendTo></RewriterRule>(.*):应用于根目录下所有页面;$1:与(.*)对应,也就是url显示的是什么对应的就是哪个aspx,如index.html对应index.aspx有时候我们需要多个参数<RewriterRule><LookFor>~/ProductClassList-(.[0-9][0-9][0-9]*)-(.*).html</LookFor><SendTo><![CDATA[~/productclasslist.aspx?cn=$1&c=$2]]></SendTo></RewriterRule>如果你的文本含有大量的"<" 或"&"字符—就象程序码中经常的那样— XML元素可以被定义为一个CDATA部分。
iis伪静态规则
iis伪静态规则IIS伪静态规则是指利用IIS的URL重写模块,将动态网址转化为静态网址的一种方式。
通过对动态网址进行重写处理,可以让搜索引擎更好地识别网站的内容,提高网站的排名,以及改善用户体验。
本文将介绍IIS伪静态规则的详细步骤。
第一步:安装IIS管理工具首先需要安装IIS管理工具,可以通过"程序和功能"或"服务"中的"添加或删除角色"或"添加或删除程序"来安装。
在此过程中,需要选择IIS的相关组件,例如Web服务器、HTTP重写模块等。
如果已经安装了IIS,则可以跳过此步骤。
第二步:启用IIS URL重写模块打开IIS管理工具,选择网站或应用程序的根目录,点击"URL重写"模块,在右侧的操作栏中点击"启用",即可启用IIS URL重写模块。
第三步:编写伪静态规则在网站或应用程序的根目录中创建web.config文件,然后将伪静态规则写入到该文件中。
伪静态规则的语法如下:<rewrite><rules><rule name="规则名称" stopProcessing="true"><match url="匹配规则" /><action type="重写方式" url="重写地址" /></rule></rules></rewrite>其中,规则名称是规则的名称,匹配规则是要匹配的URL,重写方式可以是"Rewrite"或"Redirect",url是要重写的地址。
例如,下面是一条伪静态规则的示例:<rewrite><rules><rule name="文章详情页" stopProcessing="true"><match url="^article/([0-9]+)/?.*" /><action type="Rewrite"url="article.aspx?id={R:1}" /></rule></rules></rewrite>这条规则的作用是将形如"article/123"的地址转化为"article.aspx?id=123"的形式。
IIS伪静态设置
1、将下载的 IIS Rewrite 组件解压,放到适当的目录(如 C:Rewrite)下。
2、在“IIS管理器”里选择网站,右键,属性。
3、选择“ISAPI”,点击“添加”。
4、填入筛选器名称,如“rewrite”。
5、可执行文件下方点击“浏览”,选择刚才解压的Rewrite组件位置,Rewrite.dll。
6、确认选择正确后,点击“确定”。
7、点击“确定”,完成筛选器添加。
8、重启IIS。
9、重启IIS后,再次选择站点,右键,属性,看到如下所示向上的绿箭头,说明 IIS Rewrite 成功添加并运行。
IIS Rewrite 规则设置解压后的 IIS Rewrite 组件目录(如 C:Rewrite)中,有一个 httpd.ini 文件,将相应规则写入到这个文件中即可。
要使你的IIS服务器支持伪静态重写,按以下步骤来:1. 安装重写插件Rewrite.dll如果你的 IIS 服务器加载过 Rewrite.dll 则可以不用下载。
加载 Rewrite.dll在 IIS 的 Isapi 上添加筛选器筛选器名称为:re可执行文件选择 Rewrite.dll 就可以了!2. 配置 httpd.ini打开你的httpd.ini,找到[ISAPI_Rewrite]# 3600 = 1 hourCacheClockRate 3600RepeatLimit 32# Protect httpd.ini and httpd.parse.errors files# from accessing through HTTPRewriteRule ^(.*)/archiver/([a-z0-9-]+.html)$ $1/archiver/index.php?$2 RewriteRule^(.*)/forum-([0-9]+)-([0-9]+).html$ $1/forumdisplay.php?fid=$2&page=$ 3RewriteRule^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+).html$ $1/viewthread.php?tid=$ 2&extra=page%3D$4&page=$3RewriteRule^(.*)/profile-(username|uid)-(.+?).html$ $1/viewpro.php?$2=$3以上是 Discuz!官方提供的配置代码,注意正则格式。
windowsserver2008R2系统IIS7.5配置伪静态的方法(urlrewrite)
windowsserver2008R2系统IIS7.5配置伪静态的⽅法(urlrewrite)从⽹上找了⼀下,原来微软IIS官⽅⽹站给IIS7及以后续版本提供了个URL重写组件。
⾸先,打开上⾯⽹址,到IIS官⽅⽹站下载模块。
根据需要,点击右侧的下载链接(操作系统是64位的,就下载x64版本;32位的系统,就下载x86版本)根据需要,点击右侧的下载链接(操作系统是64位的,就下载x64版本;32位的系统,就下载x86版本)注意的是,⽬前安装的版本都是英⽂的了。
下载完成之后,安装重写模块。
下载的是本地msi包(rewrite_amd64.msi或者rewrite_x86.msi),双击安装即可(安装之前最好先停⽌IIS服务,如果IIS服务没停的话,安装完成后会要求重启系统。
)安装完成后,打开“Internet 信息服务(IIS)管理器”,就可以看见模块中多了⼀个Url Rewrite 模块。
进⼊需要设置的站点,双击 Url Rewrite 图标,进⼊设置界⾯。
点击Add Rule(s)输⼊Rewrite重写规则。
确认⽆误后,点击右栏的“应⽤”按钮,⼤功告成当然你也可以从原来配置的伪静态⽂件导⼊:⽀持isapi的httpd.ini或.htaccess 案例:注意:第⼀种⽅法是在web.config中进⾏编码web.config位于⽹站项⽬的物理路径,如果没有⾃⼰⽣成⼀个就好。
//设置的规则就卸载这⾥哟..................//match 和 action中的url 均为正则表达式以上就是⾃⼰填写在web_config内容的规范了。
第⼆种⽅法查看⽹站的功能模块,会发现IIS中有个【URL重写】现在都是英⽂版的了,以后微软可能会出中⽂版的,但很多⼈反映不是很好⽤。
个⼈也更新isapi_rewrite也挺好⽤的。
点击进⼊之后,最右侧⼀列发现【导⼊规则】[转载]windows server 2008R2系统 IIS7.5配置伪静态页⾯进⼊就可以引⼊规则⽂件了。
伪静态设置--IIS6伪静态设置问题
IIS6.0伪静态设置:1.把下面的压缩包复制到自己的桌面上,上传到自己的云主机下的需要设置伪静态的站点的根目录里,解压到跟目录里,这时会多出一个rewrite文件夹,文件夹里有两个文件mtbnotif.dll和Rewrite.dll,下面需要用到。
rewrite.rar(如果压缩包有问题,请在网站根目录自己建立一个rewrite文件夹,在把Rewrite.dll mtbnotif.dll这两个文件复制进rewrite文件夹里。
)2.打开rewrite建立一个扩展名为.ini的httpd.ini文件,如下图所示,用记事本打开此文件,把自己的规则复制进去保存。
3.右键rewrite目录,给此目录everyone权限,如下图4.点击电脑的开始----运行,并在里面输入regsvr32空格后加上刚才解压出来的两个文件其中的一个文件mtbnotif.dll的路径。
比如这儿要输入的是regsvr32 D:\www\web\自己网站\wwwroot\rewrite\mtbnotif.dll然后点击确定,会出现下图的注册.dll文件的成功的提示。
5.打开iis找到自己的站点,右键----属性----ISAPI筛选器,筛选器随便填写就行,可执行文件里需要点击添加,找到刚才解压后的Rewrite.dll文件点击打开,这时可执行文件里就是Rewrite.dll的路径,点击确定---确定即可。
6.以上就是设置伪静态的步骤,如果您还没成功,请检查自己的网站后台是否开启了伪静态,如果没开启登陆后台开启下。
7.如果后期您换程序了,发现打不开网站,请到iis去掉伪静态的设置,去掉方法:打开iis 找到自己的站点,右键----属性----ISAPI筛选器,找到这个设置过的筛选器删除确定即可。
后期如果需要配置在重新按照上面的步骤配置。
IIS6升级到IIS8伪静态设置方法Windows服务器操作系统-电脑资料
IIS6升级到IIS8伪静态设置方法Windows服务器操作系统-
电脑资料
本文章来给大家介绍在把IIS6升级到IIS8伪静态设置方法,从这里看个人觉得IIS6与IIS8伪静态设置方面有很大的区别吧,这里我举个实例吧,。
最近一哥们网站原来用的是WIN2003服务器。
后来换空间以后IIS为8.0的。
服务商说只支持web.config。
规则要改变。
无语啊。
都没弄过这个。
经过搜索和研究终于搞定。
被大家说得太复杂了。
其实参考下觉得并不太难
原有Rewrite
代码如下复制代码
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteRule ^/$ /index.php [N,I]
RewriteRule ^(.*)/ $1/index.php [I]
RewriteRule ^(.*)/page([0-9]+).html $1/index.php?gid=$2 [I] RewriteRule ^(.*)/list-([0-9]+).html $1/index.php?PageNo=$2 [I]
RewriteRule ^(.*)/show-aid([0-9]+).html $1/show.php?uid=$2 [I]
更改以后的web.config
代码如下复制代码。
IIS7.0设置 url重写成html(伪静态)
IIS7.0设置 url重写成html(伪静态)
iis7.0设置url重写成html(伪静态)
iis7。
0设置要重写为HTML的URL(伪静态)
前提条件:先把iis应用程序池的托管管理道模式为集成(为了可以做第3,4步)首先
在iis中的站点里,找到处理程序映射。
双击进去
1.添加脚本映射(路径:*.HTML可执行文
件%windir%frameworkv2.0.50727aspnet_isapi.dll名称:任意,如HTML)2。
添加通配符脚本映射(路径:*可执行文件:
C:\\windows\\\\frameworkv2.0。
\\50727\\aspnet_isapi.dll名称:任意,如全部)3托管处理程序映射(路径:*.HTML可执行文件:
system.web.ui.pagehandlerfactory名称任意,如HTML集成)4在IIS中查找模块(双击)->添加托管模块------>(名称:任意类型,例如所有类型:
urlrewriter.modulerewritetick,仅用于对应用程序或托管处理程序的请求调用。
5.将应用程序池的托管管理通道模式设置为classic
以上步骤是针对32位电脑系统所写,如果您的电脑是64位系统,需要再设置如下一
个步骤
选择与重写站点对应的应用程序连接池、高级设置、启用32位应用程序,然后设置
为true
上面设置完,重写成html肯定成功,但是ii7或以上有个bug,也就是真实存在的html没有办法访问,下面我给大家提供一个可以解决的办法,也就是在webconfig里加下配置就能解决:
加上红色的就行了。
设置伪静态
1:下载URLRewriter.dll文件到网站的bin目录下面2:配置web.config文件:①:<configSections></ configSections>在这个字节里面添加节点:<section name="RewriterConfig"type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter"/>②:<httpHandlers></httpHandlers>在这个字节里面添加节点:<add verb="*"path="*.aspx"type="URLRewriter.RewriterFactoryHandler,URLRewriter" /><add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />③:<configuration></configuration>在这个字节里面添加节点:<RewriterConfig><Rules><RewriterRule><LookFor>~/ (\d+).html</LookFor><!--伪静态网址--><SendTo>~/dl.aspx?id=$1</SendTo><!--要访问的带参数的动态网址--> </RewriterRule></Rules></RewriterConfig>3:配置IIS,按以下步骤:1、从IIS中打开站点,右击属性,找到主目录(本示例是以虚拟目录,服务器版本请找主目录)打开如下图所示的窗口(图1)2、点击“配置”(如上图1 位置①),弹出“应用程序配置”窗口3、点击“添加”按钮(如下图2 位置②),弹出“添加/编辑应用程序扩展名映射”窗口,4、点击“浏览”按钮(如下图2 位置③),弹出“打开”窗口,5、在“打开”窗口中,a) 将最下方的文件类型选择为“动态连接库(*.dll)”(如下图2 位置④),b) 然后在查找范围处:在C:\WINDOWS\\Framework\v2.0.50727\aspnet_isapi.dll 找到aspnet_isapi.dll ,(.net ramework 2.0 安装在C盘)(图2)6、确定后返回“添加/编辑应用程序扩展名映射”窗口,按下图3所示,进行配置,点击确定即可。
iis7伪静态web.config配置的方法和规则
iis7伪静态web.config配置的方法和规则方法一:Rewrite模块实现IIS7配置伪静态需要使用到Rewrite模块,首先我们要检查这个模块是否已经安装:1、打开IIS7,右击站点,选择“添加程序”;2、勾选右侧IIS 管理组件,查看下面的组件列表;3、如果url重写模块(Rewrite Module)已经安装,则在该列表中已经可以看到;4、如果没有安装,则可以点击这个组件并进行安装。
安装Rewrite模块完成后,就可以进行配置伪静态规则了:1、在web.config项目根目录下添加如下内容:<system.webServer><rewrite><rules><rule name="test" stopProcessing="true"><match url="^detail/(d+)/(d+).html" /><action type="Rewrite"url="index.php?tid={R:1}&id={R:2}" /></rule></rules></rewrite></system.webServer>2、启动IIS 后就可见伪静态规则生效了,可以通过地址栏输入:来访问这个url,就可以跳转至:方法二:改写伪静态规则如果一个网站有很多页面,那么伪静态规则将变得很复杂和冗长,为了解决这个问题,我们可以简化伪静态规则,Httpd.ini文件就是其中一种简单的实现方案:1、Httpd.ini文件添加:[ISAPI_Rewrite]RewriteRule ^/detail/([0-9]+)/([0-9]+).html$ /index.php?tid=$1&id=$2 [L]2、更新web.config文件:<system.webServer><rewrite><rules><rule name="test" stopProcessing="true"><match url="(.*)" /><conditions><add input="{HTTP_HOST}{REQUEST_URI}" pattern="^(请把这里换成你的网址)\(.*\)" /></conditions><action type="Rewrite" url="httpd.ini" appendQueryString="true" /></rule></rules></rewrite></system.webServer>。
IIS7.5 伪静态 脚本映射 配置方法
IIS7.5 伪静态脚本映射配置方法
HTTP 错误404.2 - Not Found 由于Web 服务器上的“ISAPI 和CGI 限制”列表设置,无法提供您请求的页面。
打开IIS,右边操作里选基本设置,应用程序池旁边点选择,模式改成Classic ,
就是将管理模式切换为了经典模式。
出现环境:win7 + IIS7.0
解决办法:IIS的根节点->右侧“ISAPI和CGI限制”->把禁止的DotNet版本项设置为允许,即可~
如果没有的可以自行添加,路径如下图示:
HTTP 错误404.0 - Not Found
您要找的资源已被删除、已更名或暂时不可用。
1.选择站点-》IIS-》处理程序映射-》添加脚本映射(对应扩展名)
2.选择站点-》IIS-》处理程序映射-》添加通配符脚本映射(对应扩展名)
如果在应用程序池选了32位支持,那就按上面的把32位的isapi再配置一遍就OK了。
IIS7伪静态web.config配置的方法和规则
IIS7伪静态web.config配置的⽅法和规则⼀、服务器需要安装:URL Rewrite 扩展提⽰:虽然IIS7也可以使⽤以前在IIS6上那种⽼的⽅法来配置伪静态,但是我们不使⽤,因为那样的话就体现不出IIS7的优势了。
⼆、在 web.config 中配置伪静态规则注意要点1.参数⽤“()” 括起来 ,使⽤ {R:1}来获得参数2.多个参数中间⽤ & 分割切记不能写⼀样复制代码代码如下:<?xml version="1.0"?><configuration><system.webServer><rewrite><rules><!--301重定向把不带3W的域名定向到带3W--><rule name="Redirect" stopProcessing="true"><match url=".*" /><conditions><add input="{HTTP_HOST}" pattern="^$" /></conditions><action type="Redirect" url="}" redirectType="Permanent" /></rule><!--⾸页--><rule name="rD"><match url="^$" /><action type="Rewrite" url="Default.aspx" /></rule><!--产品列表--><rule name="rP"><match url="^product/$" /><action type="Rewrite" url="ProductList.aspx" /></rule><!--产品列表第⼏页--><rule name="rPL"><match url="^product/list-([0-9]*).html$" /><action type="Rewrite" url="ProductList.aspx?page={R:1}" /></rule><!--产品类别列表--><rule name="rPT"><match url="^product/([A-Za-z0-9-]*)/$" /><action type="Rewrite" url="ProductList.aspx?typeUrl={R:1}" /></rule><!--产品类别列表第⼏页--><rule name="rPTL2"><match url="^product/([A-Za-z0-9-]*)/list-([0-9]*).html$" /><action type="Rewrite" url="ProductList.aspx?typeUrl={R:1}&page={R:2}" /></rule><!--产品详细--><rule name="rPd"><match url="^product/([A-Za-z0-9-]*)/([A-Za-z0-9-]+).html$" /><action type="Rewrite" url="ProductDetail.aspx?typeUrl={R:1}&url={R:2}" /> </rule></rules></rewrite></system.webServer></configuration>。
IIS环境yii伪静态的配置
IIS环境yii伪静态的配置搜索引擎对动态的地址收录实在是不太友好,为了拥抱搜索引擎,提高网站的收录率,网站伪静态化是最好的解决方案。
要是apahe服务器就省很多事,无奈服务器是windows iis6,依照虚拟空间服务器环境在本地搭建如下环境:IIS6.0,php5.2.14 ,isapi rewrite1.3,不同的版本配置不尽相同。
下面就一步一步说明环境搭建的过程及伪静态的配置:一、IIS6.0安装,xp对IIS6.0支持不太好,我们最佳的现则是server2003,安装server2003后,准备2003server系统版,进入控制面板-》添加删除程序-》添加删除组件-》服务器组件(包含iis6)。
点下一步安装完成即可。
启动Internet信息服务(IIS)Internet信息服务简称为IIS,单击Windows开始菜单---所有程序---管理工具---Internet 信息服务(IIS)管理器,即可启动“Internet信息服务”管理工具安装到这一步,iis6就算安装完成了。
二、php的安装,我这里的版本是php5.2.14,将安装程序拷贝到D盘根目录(其它目录也可以,但是路径之间最好不要留空格),将文件名命名为php5214,这样的好处是时间长了仍能记得版本号,免得因版本不对造成很多配置上的错误。
设置环境变量:在path路径中添加:d:\php5214;d:\php5214\ext;如下图所示:添加在系统环境变量的最后。
网上有很多需要将很多dll复制到system32下面,很麻烦,完全没有必要,设置环境变量就可以了,但是php的配置文件,php.ini一定要放到c:\windows\下面,切记。
php.ini文件的配置,将php.ini-dist文件拷贝一份,重命名为php.ini复制到c:\windows下面,这一步很重要,我在实践的过程中发现,多次修改php.ini文件就是不起作用,最后用phpinfo()函数调用,发现php找的是c:\window目录下面的php.ini。
伪静态IIS与Apache的配置,htacess的规则
伪静态IIS与Apache的配置^t_(\d+).html$ t.php?id=$1这个在apache下面可以,但在iis下的isapi_rewrite里可能就不对了要改成 ^(.*)/t_(\d+).html$ $1/t.php\?id=$2加了/,和对?进行了转义Apache下RewriteRule ^company/show_([0-9]+).html$ company.php?uid=$1 [L] //正确,可以不转义. ?RewriteRule ^company/show_([0-9]+)\.html$ company.php\?uid=$1 [L] //正确RewriteRule ^/company/show_([0-9]+)\.html$ /company.php\?uid=$1 [L] //错误加了/就不行了IIS下RewriteRule ^(.*)/resume/([0-9]+)/show\.html$ /$1/person.php?pid=$2 [L] // 正确RewriteRule ^(.*)/resume/([0-9]+)/show.html$ /$1/person.php?pid=$2 [L] //错误,.?必须转义RewriteRule /resume/([0-9]+)/show\.html$ /person.php\?pid=$1 [L] // 正确RewriteRule resume/([0-9]+)/show\.html$ person.php\?pid=$1 [L] // 错误,必须加/ RewriteRule /resume/([0-9]+)/show\.html$ /person.php?pid=$1 [L] // 错误,?必须转义总结 iis下必须加 /,.?必须转义apache下不能加/附上htaccess的标记说明flags…redirect|R [=code]… (强制重定向 redirect)以http://thishost[:thisport]/(使新的URL成为一个URI) 为前缀的Substitution可以强制性执行一个外部重定向。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Windows服务器下用IIS Rewrite组件为IIS设置伪静态方法
1、将下载的IIS Rewrite 组件解压,放到适当的目录(如 C:Rewrite)下,IIS Rewrite 组件下载
/download-isapi_rewrite.htm , IIS Rewrite 简化版组件下载 /soft/71446.htm ,下载下来解压后不用安装拷到目
1、将下载的IIS Rewrite 组件解压,放到适当的目录(如 C:Rewrite)下,IIS Rewrite 组件下载/download-isapi_rewrite.htm,IIS Rewrite 简化版组件下载/soft/71446.htm,下载下来解压后不用安装拷到目录下设置好即可使用。
注:IIS Rewrite简单使用方法介绍:一个功能强大的URL处理引擎,功能和Apache的
mod_Rewrite类似,这个是For IIS版本可以把像list.asp?id=234 这样的链接映射成
list/234.html 这样就有利于在GG中的排名
完全版(Full)与简化版(Lite)的最大的区别在于可以让每个站点自定义URL重写规则(Rewrite Rule),也就是只要将写好的httpd.ini放在站点根目录,就能使用了。
安装说明:下载后可以解压出 ISAPI_Rewrite.dll ,httpd.ini 这两个文件放到某个文件夹下面,然后在 IIS 站点属性的 ISAPI 中加载 ISAPI_Rewrite.dll 就可以了, httpd.ini 是配置文件里面有例子。
如果加载不成功的话请给 ISAPI_Rewrite.dll 安全属性为完全。
2、在“IIS管理器”里选择网站,右键,属性。
3、选择“ISAPI”,点击“添加”。
4、填入筛选器名称,如“rewrite”。
5、可执行文件下方点击“浏览”,选择刚才解压的Rewrite组件位置,Rewrite.dll。
6、确认选择正确后,点击“确定”。
7、点击“确定”,完成筛选器添加。
8、重启IIS。
9、重启IIS后,再次选择站点,右键,属性,看到如下所示向上的绿箭头,说明 IIS Rewrite 成功添加并运行。
IIS Rewrite 规则设置
解压后的 IIS Rewrite 组件目录(如 C:Rewrite)中,有一个 httpd.ini 文件,将相应规则写入到这个文件中即可。
1. 安装重写插件Rewrite.dll
如果你的 IIS 服务器加载过 Rewrite.dll 则可以不用下载。
Rewrite.dll文件:百度搜索关键字:Rewrite.dll 下载
加载 Rewrite.dll
在 IIS 的 Isapi 上添加筛选器
筛选器名称为:re
可执行文件选择 Rewrite.dll 就可以了!
2. 配置 httpd.ini
打开你的httpd.ini,找到
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
# Protect httpd.ini and httpd.parse.errors files
# from accessing through HTTP
RewriteRule ^(.*)/archiver/([a-z0-9-]+.html)$ $1/archiver/index.php?$2 RewriteRule
^(.*)/forum-([0-9]+)-([0-9]+).html$ $1/forumdisplay.php?fid=$2&page=$
3
RewriteRule
^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+).html$ $1/viewthread.php?tid=$
2&extra=page%3D$4&page=$3
RewriteRule
^(.*)/profile-(username|uid)-(.+?).html$ $1/viewpro.php?$2=$3
以上是 Discuz!官方提供的配置代码,注意正则格式。
3. 应用
比如,将read.php?bl_id=123&bu_id=456 伪静态成 /html/123/456.html
可以这样写:
RewriteRule
^(.*)/html/([0-9]+)/([0-9]+).html$ $1/read.php?bl_id=$2&bu_id=$3
要使你的IIS服务器支持伪静态重写,按以下步骤来:
1. 安装重写插件Rewrite.dll
如果你的 IIS 服务器加载过 Rewrite.dll 则可以不用下载。
加载 Rewrite.dll
在 IIS 的 Isapi 上添加筛选器
筛选器名称为:re
可执行文件选择 Rewrite.dll 就可以了!
2. 配置 httpd.ini
打开你的httpd.ini,找到
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
# Protect httpd.ini and httpd.parse.errors files
# from accessing through HTTP
RewriteRule ^(.*)/archiver/([a-z0-9-]+.html)$ $1/archiver/index.php?$2 RewriteRule
^(.*)/forum-([0-9]+)-([0-9]+).html$ $1/forumdisplay.php?fid=$2&page=$ 3
RewriteRule
^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+).html$ $1/viewthread.php?tid=$ 2&extra=page%3D$4&page=$3
RewriteRule
^(.*)/profile-(username|uid)-(.+?).html$ $1/viewpro.php?$2=$3
以上是 Discuz!官方提供的配置代码,注意正则格式。
3. 应用
比如,将read.php?bl_id=123&bu_id=456 伪静态成 /html/123/456.html
可以这样写:
RewriteRule
^(.*)/html/([0-9]+)/([0-9]+).html$ $1/read.php?bl_id=$2&bu_id=$3
再例:
123.php?id=123
123/id/123
RewriteRule ^123/id/([0-9][0-9][0-9])/$ /123.php?id=$1
or
RewriteRule ^123/id/([0-9]+)$ /123.php?id=$1
PW的规则:[ISAPI_Rewrite]
RewriteRule ^(.*)-htm-(.*)$ $1.php?$2
RewriteRule ^(.*)/simple/([a-z0-9_]+.html)$ $1/simple/index.php?$2
注:比如互动百科的伪静态,设置方法和这些都是差不多的,学会这个方法了其它的一些系统的伪静态设置都是差不多的,不同的可能就是伪静态的规则设置会不一样。
个人备注:
这里的$1, $2, $3就是前一个表达式的匹配值
比如:
^(.*)/simple/([a-z0-9_]+.html)$ $1/simple/index.php?$2。