wordpress在IIS环境下实现伪静态

时间:2015-11-09

wordpress在IIS环境下是怎样实现伪静态的吧


在 IIS 下使用 WordPress ,最闹心的事莫过于对 WordPress 固定链接的伪静态设置。网上有很多基于 ISAPI_Rewrite 的 URL 重写规则,大部分都不是太好用,这里推荐两款适用于 IIS 环境下的 WP URL 重写组件,供有独立主机的朋友轻松配置 WordPress 伪静态。


wp_url_rewriting:URL Rewriting for WordPress under IIS


WordPress URL Rewrite


这两款 URL 重写组件使用都非常的简单,只需要解压后,打开 IIS 信息服务管理器,在你的 WordPress 站点属性中添加 ISAPI 筛选器,加载解压的 wp-url-rewriting.dll 或 WordPressURLRewrite32.dll ,然后重启 IIS 即可。然后到 WP 管理后台设置固定链接形式就好。


其中,WordPress URL Rewrite 可以打开 WordPressURLRewrite.ini 设置 WP 博客目录,比如 /blog 等,还可以排除不需要重写的目录。对于某些目录不需要URL重写的就将其排除,不会造成无法访问,比如 /wp-admin 等,Readme.txt里有详细说明。


WordPress URL Rewrite 分 32/64 位, 使用时选择适合自己的版本,还要注意给 dll 所在的目录加上 IIS_WPG 组的权限,如果服务器没有安装 MS VC++ 2008 Redistributable 需要运行文件夹中的 vcredist_x86.exe 来安装,否则在 ISAPI 筛选器中看到的始终是向下的红箭头状态,不可用。


备注:如果箭头红色并且向下,尝试检查组件文件夹的权限,重启一下站点就能箭头变成绿色并且向上。


另:这两款组件都不支持 .html 后缀的 URL 重写,只能以目录形式组成,比如你的固定链接使用的是 /%postname%.html 就需要改成 /%postname%/ ,希望更新版本能解决这个问题。


由于组件是外国人的,所以不支持中文的 tags ,所以,为了兼容中文的 tags ,还需要多加载 ISAPI_Rewrite 组件并配置规则 httpd.ini 来实现:


[ISAPI_Rewrite]


# 3600 = 1 hour


CacheClockRate 3600


RepeatLimit 32


RewriteRule /tag/(.*)/ /index\.php\?tag=$1这样就能支持任意字符的 tags 了,完美解决 WordPress 的 URL 重写问题。


注意 / 问题,规则正则结尾带 / ,设置固定链接时使用 /%postname%/ ,最后面要加 / 。


除此之外,用过 Discuz! 论坛的朋友都知道 Discuz!提供有 Rewrite 组件,配置方法和效果与 ISAPI_Rewrite 相同。


上一条:get_attached_media()获取当前日志的所有附件 下一条:wordpress添加新页面没有模板选项

相关文章

最新文章