虚拟主机域名注册-常见问题虚拟主机问题 → 虚拟主机问题


[原创]虚拟主机中wordpress如何实现伪静态
作者:系统管理员
   我司windows和linux主机都支持wordpress伪静态。linux主机较简单,安装好程序到后台设置》固定链接》直接进行设置就可支持。强烈建议使用wordpress的客户使用Linux虚拟主机!!


对于windows主机,在wordprcess的后台>设置(Options)》固定链接(Permalinks),一共有5个选项,前四个选项直接选择就支持的,不需要特殊处理。
第五个选择是通过404错误设置,相对复杂,这里我们主要说明。

具体设置步骤:
1.新建一个记事本,在里面写入下面代码保存,连同txt格式重新命名为404.php。上传到网站根目录。

代码:
<?php
$qs = $_SERVER['QUERY_STRING'];
$_SERVER['REQUEST_URI'] = substr($qs, strpos($qs, ':80')+3);
$_SERVER['PATH_INFO'] = $_SERVER['REQUEST_URI'];
include('index.php');
?>
2. 登录我司网站后台管理》业务管理》虚拟主机管理,点管理进去,点自定义错误》开启动态404页

3.进入wordpress管理后台,设置(Options)》固定链接(Permalinks),一共有5个选项,前四个选项直接选择就支持的。我们说的是自定义结构设置。常用的设置有/%post_id%.html ,出来是网页/47.html这种格式的;还有一种是/%postname%.html,这种出来是/标题.html格式的,如果标题是中文会转码成%符号那种,有些服务器支持不太好,不能访问。建议用户用第一种自定义,好看而且更容易收录。

另附官方提供了如下一些自定义参数:
%year% 年份
%monthnum% 月份
%day% 日期
%hour% 小时
%minute% 分钟
%second% 秒
%postname% 文章名。在发表文章的时候,输入文章缩略名“This Is A Great Post!”那么 “this-is-a-great-post” 就是url中的文章名.
%post_id% 文章的ID
%category% 目录
%author% 作者

二。这个方法会导致中文标签和一些相关地方的tags无法找到,解决办法是查找wp-include/classes.php中如下代码:


 
if ( isset($_SERVER['PATH_INFO']) )
$pathinfo = $_SERVER['PATH_INFO'];
else
$pathinfo = '';
$pathinfo_array = explode('?', $pathinfo);
$pathinfo = str_replace("%", "%25", $pathinfo_array[0]);
$req_uri = $_SERVER['REQUEST_URI'];

修改为:


 
if ( isset($_SERVER['PATH_INFO']) )
$pathinfo = mb_convert_encoding($_SERVER['PATH_INFO'], 'utf-8', 'GBK');
else
$pathinfo =;
$pathinfo_array = explode('?', $pathinfo);
$pathinfo = str_replace("%", "%25", $pathinfo_array[0]);
$req_uri = mb_convert_encoding($_SERVER['REQUEST_URI'], 'utf-8', 'GBK');

----------------------

 

三。WordPress换域名的完美301跳转方法

假设你的主机上绑定的有www.abc.com ,abc.com,abc.gotoip4.com 三个域名,你想输入 abc.com 或abc.gotoip4.com的时候,自动跳转到主域名:www.abc.com


修改 wordpress 根目录下的 wp-blog-header.php ,并在文件开头 <?php 之后加入以下代码:


if (strtolower($_SERVER['SERVER_NAME'])!='3个W.abc.com')
{
$URIRedirect=$_SERVER['REQUEST_URI'];
if(strtolower($URIRedirect)=="/index.php")
{
$URIRedirect="/";
}
header('HTTP/1.1 301 Moved Permanently');
header('Location:http://3个W.abc.com'.$URIRedirect);
exit();
}

注意:把上面程序里面的两个 '3个W.abc.com' 修改成你自己的域名

四。wordpress使用404页面实现永久连接的分页问题及解决方法
2.8到3.0版本的修改wp-setting.php文件
3.1版本的修改文件 wp-includes\load.php
把上面if ( empty( $_SERVER['REQUEST_URI'] ) || ( php_sapi_name() != 'cgi-fcgi' && preg_match( '/^Microsoft-IIS\//', $_SERVER['SERVER_SOFTWARE'] ) ) )
改成if ( empty( $_SERVER['REQUEST_URI'] ) )就对了

 

五。标签云中文分页不能访问问题。

解决wp-pagenav分页插件,不支持中文Tags分页问题。解决思路就是让UTF-8编码的Tags转换成GBK输出,不转成GB2312的原因,在于GB2312是简体中文编码,不支持繁体中文。如果Tags是繁体,照样出乱码而无法打开。
1、备份你的wp-pagenav分页插件,形成良好的备份习惯。这里只需要对wp-pagenavi.php文件操作,如果你懒干脆只备份此文件。
2、用FTP软件,二进制方式下载\wp-content\plugins\wp-pagenavi\wp-pagenavi.php文件到本地,使用Editplus或Dreamweaver打开文件。找到第170行,代码如下:
return "<a href='" . esc_url(get_pagenum_link($page)) . "' class='$class'>$text</a>";
3、在此句前加“#”,或用“/**/”把词句包含,注释掉此段代码。另起一行,加入如下代码:return "<a href='" . esc_url(mb_convert_encoding(get_pagenum_link($page), "UTF-8", "GBK")) . "' class='$class'>$text</a>";
4.保存文件,并上传到服务器,测试你的Tags分页是否可用。



来源:
阅读:3340
日期:2011-04-22

【 双击滚屏 】 【 推荐朋友 】 【 收藏 】 【 打印 】 【 关闭 】 【 字体: 】 
上一篇:[注意]最新网站备案常见问题
下一篇:[注意]英文.cn\中文.中国\中文.cn域名注册流程
  >> 相关文章