现在的位置: 首页 > 网站建设 > 正文

Win主机+IIS伪静态设置与WordPress永久链接伪静态的完美教程

2015年09月01日 网站建设 ⁄ 共 3375字 ⁄ 字号 暂无评论

Win主机+IIS伪静态设置与Wordpress永久链接伪静态的完美教程

首先当然是配置iis下的伪静态,下面先说一下Windows2003Server下ISAPI_Rewrite3的安装及IIS配置。去http://www.helicontech.com/download.htm或者http://www.helicontech.com/download-isapi_rewrite3.htm

下载最新版本的ISAPIRewrite3,有商业完整版和免费Lite版两种。完整版的支持每个站点根目录自定义httpd.ini文件,可以免费试用45天。Lite版的只能配置全局httpd.conf,不能对每个站点做单独配置,可以免费使用。

在这里我使用Lite版(ISAPI_Rewrite3Liteinstallationpackage)。

下载后安装到任意位置,并确定安装目录有可读写权限,

点Next就好。

安装完成后进行配置,打开Internet信息服务(IIS)管理器,

在需要URLRewrite的站点上点击右键->属性->ISAPI筛选器->添加,

筛选器名称任意填,我填写的是ISAPIRewrite,

可执行文件里面选择ISAPIRewrite3安装目录下的ISAPI_Rewrite.dll文件。

最后一步是要编辑ISAPIRewrite安装目录下的httpd.conf文件,在开始菜单中也可以通过运行ISAPI_RewriteManager来编辑它。这里推荐使用其编辑器编辑,因为会有提错和测试功能,具体如下:

使用ISAPIRewrite3自配编辑器编辑配置文件httpd.conf:在Internet信息服务(IIS)管理器里”网站”(此”网站”为所有子网站的树型目录的父目录)上右键-选择ISAPI_Rewrite选项卡-点Edit进行编辑,编辑完成点Apply应用即可,如有错误会有提示,点RegExptest,能够直接测试编辑结果,这些相对文本编辑方便了不少.

需要注意的一点:编辑后的httpd.conf为隐藏状态,如果需要找到此文件,在文件夹选项设置显示隐藏文件即可。下面先举个简单例子,我要把

m5u.net/view.php?id=test重写为m5u.net/view-test.html

可以这样写:

RewriteRule/view-([0-9,a-z]*).html/view.php\?id=$1[L]

在这里要提醒一下,httpd.ini为isapirewrite配置文件,适用于win主机系统

.htaccess为apache下伪静态配置文件,多适用于linux主机系统

一般放到站点根目录下即可生效。下面是一个规则,内容放入http.ini即可。

[ISAPI_Rewrite]

#3600=1hour

CacheClockRate3600

RepeatLimit32

#中文tag解决

RewriteRule/tag/(.*)/index\.php\?tag=$1

#sitemapxml

RewriteRule/sitemap.xml/sitemap.xml[L]

RewriteRule/favicon.ico/favicon.ico[L]

#Forfile-basedwordpresscontent(i.e.theme),admin,etc.

RewriteRule/wp-(.*)/wp-$1[L]

#Fornormalwordpresscontent,viaindex.php

RewriteRule^/$/index.php[L]

RewriteRule/(.*)/index.php/$1[L]

———————————————

本规则添加了wordpress在win主机下的中文tag解决方案,使用此规则后无需更改wp的源文件即可解决中文tag的识别问题。本规则目前完美解决了wordpress2.7win+iis环境下伪静态的问题。

有了上面的理解,我们再来让wordpress使用任意格式的ReWrite

也就是说如何在Wimp平台中实现Wordpress的完美URL结构!

例:http://www.m5u.net/primus-pork-soda.html

用过Wordpress的应该都知道,实现这样的URL只需要在后台中:Settings->permalinks,然后设置成自己中意的URL就行了。但是前提是您的空间支持rewrite||您的虚拟主机支持.htaccess。Lamp,Wamp中只要开启加载mod_rewrite模块就行了。但是Wimp却不是这么简单的,它如果想实现rewrite功能只能借助于第三方的ISAPI组件。

现在来讲讲方法。首先,你的服务器要加载ISAPI_Rewrite。在wordpress官方许多人提出了需要单独加载专用的Rewrite,其实不需要。其次,建立好正确规则的httpd.ini。

备注:

1、在你使用ISAPI_Rewrite后,无需再使用cos-html-cache静态生成插件,因为没有这个必要了。

2、ISAPI_Rewrite下载地址见文章开始

规则如下:

程序代码

[ISAPI_Rewrite]

#Defendyourcomputerfromsomewormattacks

#RewriteRule.*(?:global.asa|default\.ida|root\.exe|\.\.).*.[F,I,O]

#3600=1hour

CacheClockRate3600

RepeatLimit32

#Protecthttpd.iniandhttpd.parse.errorsfiles

#fromaccessingthroughHTTP

#Rulestoensurethatnormalcontentgetsthrough

RewriteRule/software-files/(.*)/software-files/$1[L]

RewriteRule/images/(.*)/images/$1[L]

RewriteRule/sitemap.xml/sitemap.xml[L]

RewriteRule/favicon.ico/favicon.ico[L]

#Forfile-basedwordpresscontent(i.e.theme),admin,etc.

RewriteRule/wp-(.*)/wp-$1[L]

#Fornormalwordpresscontent,viaindex.php

RewriteRule^/$/index.php[L]

RewriteRule/(.*)/index.php/$1[L]

以上规则不仅可以实现自行设置url的目的,而且解决了采用index.php这样的方式翻页出现问题,无法去掉index.php的url显示等问题,同时也增加了对Google网站sitemap.xml的支持。

安装说明:

1.将Rewrite.dll拷贝到c:\Rewrite.dll(也可以拷贝到C:\WINDOWS目录内,位置根据喜好可以自由放置);

2.在IIS的Isapi上添加这个筛选器,筛选器名称Rewrite,可执行文件选择Rewrite.dll;

3.重新启动IIS,成功后会有如下显示:

注解:如果你是虚拟主机用户,需要联系主机商帮助来完成这些工作,其实他们的服务器支持伪静态也是开拓业务的一项美好事情(我的主机商已经加载过此组件,支持伪静态的),如果您是自己的服务器,那么您自行完成就可以了。

4.httpd.ini是配置文件,如果您了解Rewrite规则,可以直接对其进行编辑;

5.默认规则为wordpress专用,其他PHP程序伪静态无法使用,使用请设置相应规则;

备注:在前三项成功完成后,将httpd.ini传送到网站跟目录就完成了伪静态环境搭建,下边开始进入后台,设置永久链接采用自定义方式,代码可以参考官方:http://codex.wordpress.org/Using_Permalinks,设置您喜欢的显示方式即可。例如/%category%/%postname%.html含义是按照分类目录名称/内容页名称.html方式,增加html就是大家喜欢看到的静态标识。伪静态就这样建立完成了。

给我留言

留言无头像?