WordPress伪静态和中文标签支持配置方法

时间:2022-06-01 19:42:42

WORDPRESS博客站已经运行快一年了,在伪静态上一直很纠结,空间默认不支持伪静态,网上找了很多方法,用404错误页面来做伪静态,现在发现了问题了。google收录了,但百度不收录,因为百度在爬行页面的时候,文章链接都跳到了404页面,百度认为是错误页面,就不收录了。

  为了做伪静态,让百度也收录,我终于不嫌麻烦,找空间商提供伪静态支持了。告诉空间商,我用的是wordpress程序,需要做伪静态。空间商的技术很快就帮忙搞定了。将Rewrite放到根目录,里面配置文件也有。之前我也在网上找 了伪静态规则的,我把httpd.ini放在根目录,好让技术知道伪静态规则是什么。

伪静态规则代码:

 

复制代码

代码如下:


[ISAPI_Rewrite] 
# 3600 = 1 hour 
CacheClockRate 3600 
RepeatLimit 32 
# Protect httpd.ini and httpd.parse.errors files 
# from accessing through HTTP 
# Rules to ensure that normal content gets through 
RewriteRule /software-files/(.*) /software-files/$1 [L] 
RewriteRule /images/(.*) /images/$1 [L] 
RewriteRule /sitemap.xml /sitemap.xml [L] 
RewriteRule /favicon.ico /favicon.ico [L] 
# For file-based wordpress content (i.e. theme), admin, etc. 
RewriteRule /wp-(.*) /wp-$1 [L] 
# For normal wordpress content, via index.php 
RewriteRule ^/$ /index.php [L] 
RewriteRule /(.*) /index.php/$1 [L]

 

把上面的规则代码复制到记事本里,改为httpd.ini,放到网站根目录。然后到网站后台设置固定链接。固定链接可以自定义。
官方提供了如下一些参数。

 

复制代码

代码如下:


%year% 年份 
%monthnum% 月份 
%day% 日期 
%hour% 小时 
%minute% 分钟 
%second% 秒 
%postname% 文章名。 
如文章名是“This Is A Great Post!”, 
那么“this-is-a-great-post”就是url中的文章名。 
%post_id% 文章的ID 
%category% 目录 
%author% 作者

 

我用的是文章的ID,%post_id%.html,如此设置,就是你看到的文章地址样式了。
  伪静态配置好了,但还有问题哦。我们设置的文章标签通常是中文,但中文标签wordpress默认是不支持的,会跳到404页面去。要让其支持中文,还需要修改下程序文件。
“wp-include”目录下的“class-wp.php”文件。

第一步:

找到
$pathinfo = $_SERVER['PATH_INFO'];
修改为:
$pathinfo = mb_convert_encoding($_SERVER['PATH_INFO'], 'UTF-8', 'GBK');


第二步:

找到
$req_uri = $_SERVER['REQUEST_URI'];
修改为:
$req_uri = mb_convert_encoding($_SERVER['REQUEST_URI'], 'UTF-8', 'GBK');


如此修改,wordpress就支持中文的标签了。

  是不是一下畅快多了?

  注意:如果你的博客目录或根目录装有其他程序,上面伪静态的“httpd.ini”会导致把你的访问都转回博客的首页,从而导致不能访问和你博客同一目录或根目录的程序,如果有谁有更好的方法,求分享!