关于wordpress各系统的伪静态
何为伪静态?
伪静态是相对真实静态来讲的.通常我们为了更好的缓解服务器压力,和增强搜索引擎的友好面.都将文章内容生成静态页面.但是有的朋友为了实时的显示一些信息.或者还想运用动态脚本解决一些问题.不能用静态的方式来展示网站内容.但是这就损失了对搜索引擎的友好面.怎么样在两者之间找个中间方法呢,这就产生了伪静态技术.就是展示出来的是以.html一类的静态页面形式,但其实是用PHP一类的动态脚本来处理的.
现在wordpress伪静态主要是针对windows和linux主机的。
Linux主机,apache可以设置.HTACCESS
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
伪静态规则
对于windows主机,在wordprcess的后台>设置(Options)》固定链接(Permalinks),一共有5个选项,前四个选项直接选择就支持的,不需要特殊处理。
第五个选择是通过404错误设置,相对复杂,这里我们主要说明。
具体设置步骤:
1.新建一个记事本,在里面写入下面代码保存,连同txt格式重新命名为404.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跳转方法
假设你的主机上绑定的有www.abc.com ,abc.com,abc.gotoip4.com 三个域名,你想输入 abc.com 或abc.gotoip4.com的时候,自动跳转到主域名:www.abc.com ,
修改 wordpress 根目录下的 wp-blog-header.php ,并在文件开头 {
$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 “$text”;
3、在此句前加“#”,或用“/**/”把词句包含,注释掉此段代码。另起一行,加入如下代码:return “$text”;
4.保存文件,并上传到服务器,测试你的Tags分页是否可用。
发表评论