Nov 14

怎么才能让你的bo-blog在WINDOWS服务器下的IIS支持高级URL Rewrite功能 不指定

admin , 10:52 , 数据库 » 数据库(Oracle开发) , 评论(0) , 引用(0) , 阅读(4192) , Via 本站原创 | |
搜索
我已经获得阿里云幸运券,准备分享给您。请点击获取  

都过了以个多星期了,还是没被搜索引擎收录,于是查下了没被收录的原因,发现像example.com/read.php?1 这样的url很难被搜索引擎收录,于是想使用bo-blog自带的高级URL Rewrite功能,由于服务器操作系统: WINNT Microsoft-IIS/6.0 ,所以不能像linux 服务器那样直接把.htaccess文件直接拷贝到blog目录,在搜索了很多资料后发现很多的都是没什么用处,在bo-blog官方论坛终于找到了答案,呵呵,引用下,希望对大家有所帮助。以下为引用的内容:原文地址:http://www.bo-blog.com/doc/203sp1_210_part2.htm

高级URL Rewrite功能:

1. 链接形式的改变
链接的格式对于搜索引擎而言,是影响收录情况的重要因素。

2.0.3的链接有三种形式:
默认形式(Ugly URL):单篇日志链接为 example.com/read.php?1 ,其他页面的链接形式为 example.com/index.php?mode=1&page=1
基于PHP的优化形式(Pathinfo Rewrite):单篇日志链接为 example.com/read.php/1.htm,其他页面链接同默认形式
Apache URL Rewrite形式:单篇日志链接为 example.com/post/1.htm,其他页面链接如 example.com/index_1_1.htm
这三种链接形式中,Apache Rewrite是最佳形式,也更为美观。但需要Apache服务器支持。鉴于国内大多数服务器(尤其是全能型)均运行于Windows系统,采用IIS,所以无缘使用这一功能。

2.1.0对链接形式进行了比较大幅度的更改,使其更便于理解,也在一定程度上更利于搜索引擎的收录。

2.1.0的链接仍然是三种形式,但是优化的方案有所变动。其中最大的变化在于引入了“为日志自定义别名”的概念。设定某篇日志的别名后,这个名字将作为日志链接的一部分出现。例如,对于自定义的别名 test,Pathinfo Rewrite模式下将生成一个PHP转向文件,使该日志链接变为 example.com/post/test.php ;而在高级URL Rewrite模式下,日志的链接形式为 example.com/test/ 。

基于PHP的优化形式涵盖了更大的范围,通过一个 go.php 文件进行更多的链接优化。例如,上例中提到的页面,其链接形式将不再是Ugly URL,而是 example.com/go.php/page/1/1/ 。

高级URL Rewrite也同样更改了链接形式,将看到诸如 example.com/page/1/1/ 这样的形式。

之所以绝大多数的链接都被优化成了路径结构而不是伪装成htm文件,是因为综合多位专业人士的意见,路径结构更利于搜索引擎的收录,当然视觉上也更整齐。

您不用担心链接形式的转变对访客带来不利影响。经过处理,如果访客请求了一个旧形式的Rewrite链接,例如 example.com/index_1_1.htm,他将被自动带向 example.com/page/1/1/ ,而且他的浏览器(或者搜索引擎的蜘蛛)会收到一个 HTTP 301 (网址永久更改)的信号。

至于原先的 Ugly URL,则仍然可以正常访问,因为Ugly URL是基础的链接形式,URL Rewrite的过程其实也是在服务器内部重新解释了请求的链接,“转向”Ugly URL而已。

URL优化形式可以在后台的杂项设置菜单中找到。

要正常启用基于PHP的URL优化功能,服务器必须是Linux类系统,或者是PHP版本大于4.3、且PHP以ISAPI模式运行的Windows系统。也就是说,除了一部分以CGI模式运行PHP的Windows服务器,一般的服务器都能打开这一功能。

要正常启用高级URL优化功能,需要有启用了Rewrite Mod的Apache服务器,或者安装了ISAPI Rewrite插件的Windows IIS服务器。两者都需要配备专门的rewrite文件。Apache的 .htaccess 文件的重写规则可以在后台生成,只需将这些规则复制另存为 .htaccess 文件,上传到网站就可以了。IIS的rewrite文件我们没有提供,因为目前IIS没有官方统一的rewrite插件,各个插件的规则写法均有所区别,可能您需要对照Apache的 .htaccess 文件做相应的修改。

如果您有服务器IIS的控制权,您也可以在不安装任何ISAPI 插件的情况下,利用下面提供的这个方法实现Rewrite的支持。(当然这个文件是给Bo-Blog 2.1专用的,其他程序的Rewrite可能还需要您安装ISAPI插件实现)

实现方式如下有二:
法一:
[ A ] 下载附件,用文本编辑器打开其中的 iisrewrite.php 文件,将开头处的:
$blogdir='blog/';
修改为bo-blog的安装目录。比如
$blogdir='weblog/';
(如果安装在根目录下,写成 $blogdir=''; 否则需如上例一样,在路径结束处添加斜杠)
然后将这个文件上传到网站的 wwwroot 下。
[ B ] 运行IISAdmin,如图,

对需要rewrite的网站做相应设置。在自定义错误选单中,找到“404”错误的选项,编辑其属性,设置消息类型为:URL(重要,必须设置为 URL,否则将导致服务器对不存在的页面给出404响应,而设置为URL后,rewrite后的页面的HTTP响应为正常的200)。地址设置为 /iisrewrite.php.

法二:
对于上面的这个配置,可以在你的虚拟机上的自定义错误进行更改,一样的效果,如图

在自定义错误选单中,找到“404”错误的选项,地址设置为 /iisrewrite.php,如上图所填写即可。
用到的iisrewrite.php 文件请点击下面的链接下载

下载请点击:iisrewrite 版本:1.0