我的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文件,并上传至网站根目录。接下来,在网站后台设置固定链接,您可以根据个人喜好自定义固定链接格式。
WordPress官方提供了一些参数选项
%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”会导致把你的访问都转回博客的首页,从而导致不能访问和你博客同一目录或根目录的程序,如果有谁有更好的方法,欢迎投稿!
@版权声明与免责声明:
本网站部分图片素材来源于网络,版权归原作者所有。我们尊重原创作者的版权,如有侵权,请及时与我们联系,我们将在第一时间删除相关内容。对于本网站上标注为原创的图片和内容,未经 [站长营地 CmsZc.com] 的事先书面同意,您不得以任何形式或方式复制、修改、传播、展示或以其他方式使用。如果您希望使用本网站上的任何原创图片或内容,请通过以下联系方式与我们联系以获取授权:
联系我们