Total Pageviews

Friday, 10 February 2012

Godaddy Win主机下WordPress伪静态的几种设置方法

搬到Godaddy虚拟主机上,先进行了一下测试。使用Godaddy Windows 主机,IIS 7.0,支持PHP+MYSQL数据库,理论上完全可以运行WordPress。于是我备份原博客数据库并导入Godaddy主机数据库中,设置了测试域名(在没有完全把握的情况下没敢使用原博客主域名),FTP下载原博客全部文件并上传到Godaddy主机上。一切准备就绪,访问测试,OK 博客首页打开了没有问题,但是访问分类目录和单独页面时出现问题了“File not Found”,打不开!!

        仔细想了想应该是URL重写的问题,我的WordPress博客使用了伪静态技术,而Godaddy Windows 主机可能不支持伪静态,这下麻烦了。Google了一下,参考一些朋友的意见,找到了解决方法。

1、使用web.config文件配置IIS的URL重写、伪静态。代码如下:
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name=”wordpress” patternSyntax=”Wildcard”>
<match url=”*” />
<conditions>
<add input=”{REQUEST_FILENAME}” matchType=”IsFile” negate=”true” />
<add input=”{REQUEST_FILENAME}” matchType=”IsDirectory” negate=”true” />
</conditions>
<action type=”Rewrite” url=”index.php” />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>

新建一个文本文件,把以上代码复制粘贴到文本文件中,然后命名为web.config上传到WordPress主机根目录,问题解决了!轻松实现URL重写和伪静态。

2、只需创建一个404错误页面,并且写入下列4行代码即可简单优雅的实现无插件完美支持windows iis主机的永久固定链接的伪静态化地址格式。去掉网页地址中的index.php!

<?php

$qs = $_SERVER['QUERY_STRING'];

$_SERVER['REQUEST_URI'] = substr($qs, strpos($qs, ‘:80′)+3);

$_SERVER['PATH_INFO'] = $_SERVER['REQUEST_URI'];

include(‘index.php’);

?>

这样即可固定REQUEST_URI和PATH_INFO参量并且包括进去index.php,剩下的将交给wordpress完成任务。

具体设置步骤:

1.)新建一个记事本,在里面写入上面代码,保存,连同txt格式重新命名为wp-404-handler.php。

2.)设置404自定义错误指向wp-404-handler.php,一般来说,绝大多数服务器控制面板均提供该选项。

3.)进入wordpress管理后台,设置(Options)-永久链接(Permalinks),你就当自己的主机是linux主机使好了,任意、随便设置自己喜欢的伪静态地址格式及静态地址后缀。

3、如果你使用的是Godaddy Linux 主机,设置’.htaccess’文件属性为777可写权限就行了。FTP登录后,在根目录找到该文件,右键-属性-设置为777确定。

No comments:

Post a Comment