没有ISAPI Rewrite FULL照样玩多站点伪静态

IIS中增加URL Rewrite功能,最多人选用的是名为“ISAPI Rewrite“的软件,网上下载的破解版,其实破解不完善,最终会不能用
IIS中增加URL Rewrite功能,最多人选用的是名为“ISAPI Rewrite“的软件,网上下载的破解版,其实破解不完善,最终会不能用。

再次查找,找到了Ionic's Isapi Rewrite Filter,完全开源,完全免费,完全没有中文使用手册。

测试后,使用正常,用法分享一下:

首先到官方网站http://www.codeplex.com/IIRF/Release/ProjectReleases.aspx或者到跟版网下载(http://www.jb51.net/softs/40097.html)下载最新软件包,注意要下载的是IonicIsapiRewriter-2.0-Release-bin.zip,版本号可能会变化。以下安装仅针对WIN2003+IIS6.0的服务器环境。

一、安装IIRF

1、复制IIRF的DLL(IIRF.dll)到相应的文件夹,如D:\Rewrite。 或者,它可以在一个完全不同的目录树。 这取决于你。

2、如果您创建一个服务器全局范围的设置文件(IirfGlobal.ini),你必须把它与(IIRF.dll)文件在同一目录中。 该URL Rewrite筛选器将寻找其在该文件中的全局设置文件。 如果是多个站点,则在站点更目录下创建(IIRF.dll)文件。

3、对(IIRF.dll)所在目录赋予IIS_WPG用户组“读取”、“读取与运行”、“写入”权限。

4、 打开Internet信息服务管理器。右键点击IIS管理器左栏“网站” 》“属性”,弹出“网站属性”选项卡,选择“ISAPI筛选器”,如下图添加IIRF。

百度权重查询 站长交易 友情链接交换 网站建设,网站设计,企业建站就找313

5、重启IIS

6、右键点击IIS管理器左栏“网站” 》“属性”,弹出“网站属性”选项卡,选择“ISAPI筛选器”,查看“IIRF”加载是否成功。若是绿色向上箭头,则表示加载成功。

 

二、规则文件格式基本照搬ISAPI Rewrite,要作修改RewriteRule [源URL正则条件] [目的URL]
ISAPI Rewrite与IIRF的区别就在[目的URL],ISAPI Rewrite的要转义,而IIRF不用转义。
如果网上有现成的ISAPI Rewrite的规则可以直接复制过来,将[目的URL]中的反斜杠(\)一个个删除就可以用在IIRF中用了。
知道这个之后,你就可以随便在网上与人交流,按ISAPI Rewrite交流,最后把转义符(\)删掉就行了。

三、日志设置

在IIRF中日志值可以设置为0-5,在规则文件的开头部分有两行设置日志类型
RewriteLog C:\Rewrite\supesite\iirfLog.out (注意要写清楚路径,各站点不同)
RewriteLogLevel 0 (0为不记类,3为一般测试,5为处理故障)
日志的代价高昂,同时不会自动删除文件,日志类型一定要设成0,除非用于检查才能修改为其他值,检查完后一定要改为0,否则日志文件把硬盘占满就麻烦了。
如果日志不为0,筛选器起用后,对应文件夹会产生类似以下的文件,是文本格式的,可以用记事本查看。
iirfLog.out.12345.log

四、查看配置

在IIRF.ini文件中输入以下配置参数,则可通过浏览器方便查看目前IIRF配置
StatusUrl iirfStatus
StatusInquiry ON
在浏览器中输入http://localhost/iirfstatus,即可查看。

五、规则文件可随时修改,随时生效!

六、附上wordpress的IIRF规则

先到wordpress后台设置固定连接为:/post/%post_id%.html
然后在wordpress所在网站的根目录创建(IIRF.ini)文件,并在文件中加入以下规则:

RewriteLogLevel 0
RewriteLog E:\flyingblue\logfiles\IIRFLOG\log
StatusUrl iirfStatus
StatusInquiry ON

RewriteRule /index.html$ /index.php [L]

<ol>
<li>from accessing through HTTP</li>
<li># WordPress rewrite rules#</li>
<li># Below is for permalink like /post/%post_id%.html</li>
<li># Provided By Sideblue</li>
<li># URL:<A href="http://ivup.cn</li>" rel=nofollow>http://ivup.cn</li></A>;
</ol>

RewriteCond %{REQUEST_FILENAME} ^wp-content.*
RewriteCond %{REQUEST_FILENAME} ^wp-admin.*
RewriteCond %{REQUEST_FILENAME} ^wp-include.*
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule /post/tag/(.*) /index.php\?tag=$1
RewriteRule /tag/(.*) /index.php?tag=$1
RewriteRule /(contact|about-copyright|favor|archives|tags|sitemap) /index.php?pagename=$1
RewriteRule /post/category/(.*)/(feed|rdf|rss|rss2|atom)/?$ /wp-feed.php?category_name=$1&feed=$2
RewriteRule /post/category/?(.*) /index.php?category_name=$1
RewriteRule /author/(.*)/(feed|rdf|rss|rss2|atom)/?$ /wp-feed.php?author_name=$1&feed=$2
RewriteRule /author/?(.*) /index.php?author_name=$1
RewriteRule /rss.xml /wp-feed.php?feed=rss2
RewriteRule /feed/?$ /wp-feed.php?feed=rss2
RewriteRule /comments/feed/?$ /wp-feed.php?feed=comments-rss2
<ol>
<li>RewriteRule /([0-9]+)/?([0-9]+)?/?$ /index.php?p=$1&page=$2</li>
<li>RewriteRule /post/([0-9]+)/?([0-9]+)?/?$ /index.php?p=$1&page=$2</li>
</ol>

RewriteRule /post/([0-9]+).html /index.php?p=$1
RewriteRule /page/(.*)/?s=(.*) /index.php?s=$2&paged=$1
RewriteRule /page/(.*) /index.php?paged=$1
RewriteRule /post/date/([0-9]{4})([0-9]{1,2})([0-9]{1,2})/([^/]+)/?([0-9]+)?/?$ /index.php?year=$1&monthnum=$2&day=$3&name=$4&page=$5
RewriteRule /post/date/([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/?$ /index.php?year=$1&monthnum=$2&day=$3&page=$4
RewriteRule /post/date/([0-9]{4})/([0-9]{1,2})/?$ /index.php?year=$1&monthnum=$2&page=$3
RewriteRule /post/([0-9]+).html/(feed|rdf|rss|rss2|atom) /index.php?feed=rss2&p=$1
RewriteRule /post/([0-9]+).html/trackback /wp-trackback.php?p=$1

来源:ivup.cn
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

很多网站需要采用伪静态来访问动态网页。所以像phpcms这样的系统,都提供了一个.htaccess文件,供写伪静态规则。但这个规则是针对Apache的。在nginx服务器上并不起作用。 nginx 可以直接将伪静态规则写在配置文件中,但这个需要有服务器管理权限,普通站长不
在网站建设中需要网页重定向的情况很多:如网页目录结构变动,网页重命名、网页的扩展名改变、网站域名改变等。如果不做重定向,用户的收藏和搜索引 擎数据库中的旧地址只能让访客得到一个404错误信息页面,访问流量白白丧失。不仅如此,之前该页面的一切积
window10 64系统在安装IIS URL重写模块2伪静态组件提示需要IIS7.0以上版本。 解决方法: 打开注册表 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InetStp 双击右边MajorVersion,默认的数值是a,修改成9,然后再安装 ,安装完成后,再把数值修改为a即可。
默认情况一个服务器的 IIS 只能绑定一个HTTPS也就是443端口 要实现多个站点对应HTTPS只能更改IIS配置 首先把每个站点分配个不同端口,如443.444.445(证书一定要是多域的) 然后重启站点 方法一: 然后在: C:\Windows\system32\inetsrv\config\applicationH
Apache mod_ssl 配置多个虚拟主机支持SSL子站,以下配置适用于httpd 2.4+,对于不支持define指令的低版本Apache httpd Web Server,把SSLROOT换成所定义的路径即可。配置中的${WROOT}是httpd.conf中通过define指令定义的一个变量,值为D:/Web/www/ 在httpd.c
当iis伪静态中文url出现乱码时该如何解决呢,此篇文章为大家提供了解决的方案,有需要的可以来看看。 首先要看下你安装的是IIS rewrite_2.0还是ISAPI_Rewrite 3.x的伪静态插件。 如果你安装的是IIS rewrite_2.0的话,传递的参数都是UTF-8格式的,如果你网站