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


[原创]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  或 /wp-includes/class-wp.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跳转方法

假设你的主机上绑定的有<a href="http://www.abc.com/" border="0" src="image/url.gif" align="absmiddle" www.abc.com ,abc.com,abc.gotoip4.com 三个域名,你想输入 abc.com 或abc.gotoip4.com的时候,自动跳转到主域名:<a href="http://www.abc.com/" border="0" src="image/url.gif" align="absmiddle" 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分页是否可用。




来源:
阅读:4648
日期:2012-08-31

【 双击滚屏 】 【 推荐朋友 】 【 收藏 】 【 打印 】 【 关闭 】 【 字体: 】 
上一篇:[注意]虚拟主机 vps 云主机 邮局等所有业务 结算须知
下一篇:[原创]VPS独立主机开启的常用端口,和如何开启其他端口
  >> 相关文章