WordPress的伪静态设置方法

wordpress 难得糊涂 7个月前 (01-22) 78次浏览 已收录 0个评论
文章目录[隐藏]

多少了解一点 SEO 知识的朋友都知道静态化的 URL(什么是 URL?自行百度)更利于搜索引擎收录,WordPress 实现伪静态其实是很简单的,但有不少新人朋友还是始终无法成功设置 WordPress 伪静态。

WordPress 伪静态设置方法分 Windows 主机与和 Linux 主机,下面分开来介绍。

Linux 主机 WordPress 伪静态设置方法

登录你的 WordPress,点击左侧菜单设置选项下固定链接,如下图所示:

WordPress 已经给出了几种 URL 伪静态形式,但都不很理想,我们希望的 URL 形式为:

域名/分类别名/文章 ID.html

那么,如上图所示,选择自定义结构选项,填写:

/%category%/%post_id%.html

如果你对这种形式不满意,可以自定义任意形式,只要合理搭配参数即可,可以使用的参数如下:

%year%:文章发表的年份,四位数字,如 2012

%monthnum%:文章发表的月份,如 08

%day%:文章发表的日期,如 28

%hour%:文章发表的时间(小时),如 15

%minute%:文章发表的时间(分钟),如 18

%second%:文章发表的时间(秒),如 28

%postname%:文章别名,在发表文章时可以设置。

%post_id%:文章的 ID,如 68

%category%:分类别名,在添加分类时可以设置。

%tag%:标签的别名,在添加标签时可以设置。

设置好后,有的 Linux 主机允许程序自动创建.htaccess 文件,但有的 Linux 主机不支持,此时,就需要我们手工上传.htaccess 文件。将以下代码复制到记事本,保存为.htaccess。

# BEGIN WordPress

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

RewriteRule ^index.php$ – [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

</IfModule>

# END WordPress

可能你会发现,电脑不允许保存文件时文件名为空,那么随便起一个名称,用 FTP 工具上传到你的网站根目录后重命名,将名称去掉即可。

此时,细心的你可能会发现分类页的 URL 里有一个 category,你可以使用 WP No Category Base 插件来解决。

Windows 主机 WordPress 伪静态设置方法

复制以下代码到记事本:

[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 /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 安装目录,然后设置固定链接,方法同 Linux 主机 WordPress 伪静态设置方法中的固定链接设置方法。

在 Windows 主机下设置 WordPress 伪静态有时会遇到这样那样的问题,所以,使用 WordPress 搭建网站最好选用 Linux 主机。

页面伪静态

在主题 functions.php 文件添加以下代码

  1. //页面伪静态
  2. add_action(‘init’, ‘html_page_permalink’, 1);
  3. register_activation_hook(__FILE__, ‘active’);
  4. register_deactivation_hook(__FILE__, ‘deactive’);
  5.  
  6. function html_page_permalink() {
  7. global $wp_rewrite;
  8. if ( !strpos($wp_rewrite->get_page_permastruct(), ‘.html’)){
  9. $wp_rewrite->page_structure = $wp_rewrite->page_structure . ‘.html’;
  10. }
  11. }
  12. add_filter(‘user_trailingslashit’, ‘no_page_slash’,66,2);
  13. function no_page_slash($string, $type){
  14. global $wp_rewrite;
  15. if ($wp_rewrite->using_permalinks() && $wp_rewrite->use_trailing_slashes==true && $type == ‘page’){
  16. return untrailingslashit($string);
  17. }else{
  18. return $string;
  19. }
  20. }
  21.  
  22. function active() {
  23. global $wp_rewrite;
  24. if ( !strpos($wp_rewrite->get_page_permastruct(), ‘.html’)){
  25. $wp_rewrite->page_structure = $wp_rewrite->page_structure . ‘.html’;
  26. }
  27. $wp_rewrite->flush_rules();
  28. }
  29. function deactive() {
  30. global $wp_rewrite;
  31. $wp_rewrite->page_structure = str_replace(“.html”,“”,$wp_rewrite->page_structure);
  32. $wp_rewrite->flush_rules();
  33. }

然后需要在设置——固定连接那里重新保存一下,不然会 404 的


DORIS , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:WordPress 的伪静态设置方法
喜欢 (2)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址