wordpress网站如何伪静态

WordPress常规设置涉及后台登录后,点击设置,常规选项。此处可调整站点标题、副标题、URL等。

接着,探讨WordPress伪静态配置。进入设置-固定连接,可选常用配置或自定义。自定义结构基于可用标签,如/%post_id%.html。

完成WordPress后台固定链接配置后,还需宝塔面板进行伪静态设置。进入宝塔面板后台,访问站点设置,保存WordPress伪静态配置即可。

1:wordpress开始设置url伪静态方法

后台:设置->固定链接,然后如图设置后保存,此项设置后,发现文章链接都是伪静态了,以为大功告成。但不久后就发现问题。

2:遇到问题显示的结果

1:如果简单的在自定链接后面加上.html单页面文章显示是正常的

2:如果是文章页有很多分页的话,就会出下下面的情况

3:查找问题所在

看到这种链接,执笔人实在是受不了。于是各种百度谷歌,*后无果。

想到模板分页调用的函数 wp_link_pages,于是从此函数下手,很快有了结果。

原来每生成一个链接都会调用一个钩子 wp_link_pages_link来方便定制,*后所有链接生成完后再调用一个钩子 wp_link_pages来个总链接大定制。

*后锁定了一个函数 redirect_canonical,该函数触发同名钩子

4:wordpress成功实现伪静态方法

*终决定一试。在当前主题的functions.php文件中加入代码:

//设置伪静态开始

//解析url的钩子

add_filter('post_rewrite_rules','add_custom_post_rewrite_rules');

function add_custom_post_rewrite_rules($rules){

$custom_rules= array('(d+)_(d+).html$'=>'index.php?p=$matches[1]&page=$matches[2]',);

$rules= array_merge($custom_rules,$rules);

return$rules;

}

//设置url钩子

add_filter('wp_link_pages_link','post_custom_rewrite_url');

function post_custom_rewrite_url($output){

$preg="/(.*)/(d+).html/(d)/";

$output= preg_replace($preg,"$1/$2_$3.html",$output);

return$output;

}

//不许跳转

add_filter('redirect_canonical','post_custom_redirect_url');

function post_custom_redirect_url($output){

return false;

}

//设置伪静态结束

5:*后一步大功告成

上面的设置保存后,再返回后台:设置->固定链接,然后不需要设置什么,就点一下“保存更改”即可,这时你浏览发现文章链接都是伪静态了。

以转载于其它*客,测试4.0版本是可以正常使用。

**,修改固定链接

首先,在WordPrcess的后台点设置(Options),点固定链接(Permalinks)这里一共有5个选项,前四个选项直接选择就可以支持,不需要特殊处理

如果你不懂标签的话,我建议你看下这个:

%year%年份

%monthnum%月份

%day%日期

%hour%小时

%minute%分钟

%second%秒

%post_id%文章的ID

%category%目录

%author%作者

我说用的是/%category%/%post_id%.html,看好了,html是静态化网页的关键。

第二,上传.htaccess文件

做了上面的,首页能进去,但是文章进去就报错是吧!因为还没有做*重要的一步上传.htaccess.到根目录。

在这里介绍一下.htaccess(百度的):.htaccess文件(或者”分布式配置文件”)提供了针对目录改变配置的方法,即,在一个特定的文档目录中放置一个包含一个或多个指令的文件,以作用于此目录及其所有子目录。作为用户,所能使用的命令受到限制。管理员可以通过Apache的AllowOverride指令来设置。

这个文件很特别,你在WIN里他是不能被创建的(注意他前面是有小数点的),所以我们必须用其他格式的文件编辑好,再上传到FTP中改写。

创建一个htaccess.txt文件,在里面添加下面的代码:

# 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的更目录下,改名为.htaccess。

刷新一下网页看看,是不是每个链接都能用了!而且没有了讨厌的index.php

有些新手就会问:文件不存在为什么却可以正常访问呢?呵呵,这就是伪静态的奥妙所在啦。什么叫“伪静态”?其中的“伪”就是指伪装的意思。就是指静态文件并不真实存在,其实和动态差不多的,用户访问的时候还是要从数据库中读取,只是看

起来像静态化。这样其实还会影响访问速度、消耗服务器内存,一旦数据库出错或者崩溃,整个网站可能都无法访问。但如果使用真静态页面的话,则会有效避免上

述问题。怎样做到让文件真实存在呢?这样访问速度就会快很多,也可以减少服务器消耗,怎样做到呢?下面就简单介绍一下。wordpress如何设置真静态化处理?如何让wordpress自动生成真实存在的静态化文件呢?其实很简单,只需要下载安装一个名叫cos-html-cache的wordpress插件即可。COS-HTML-Cache是一个非常有效的WordPress页面缓存插件,使你的WordPress网站响应速度更快。基于URL重写,该插

件将自动生成真正的HTML文件,当有用户或搜索引擎蜘蛛来访问你的伪静态页面时,该插件会自动更新HTML文件及其相关的文章修改。你可以在wordpress后台选择插件>安装插件,输入cos-html-cache然后搜索安装,*后在启用即可。或者到wordpress网站下载cos-html-cache压缩包,解压后用FTP上传到/wp-content/plugins/目录下面,然后在后台启用。插件安装成功生效以后,并不会马上生成html静态文件,当下次用户进入或者有蜘蛛到访的情况下,他才会自动生成或更新html文件。如果你想快速生成html文件看下效果,可以使用站长工具里面的死链接检测,并模仿蜘蛛来访问你的网站即可。如果没有生成静态化文件怎么办呢?我将会在下篇*文中介绍。

相关文章
在线客服
微信联系
客服
扫码加微信(手机同号)
电话咨询
返回顶部