当前位置: 首页 > wordpress > 正文

wordPress实现伪静态

检测主机是否支持伪静态的方法:在WP后台 > 设置 > 固定链接,设置为 非默认带?的那种结构,然后访问任何一篇文章,如果出现 404 错误,说明你的主机当前不支持 WordPress 伪静态。

wordpress实现伪静态的方法:

1、Linux主机设置伪静态的方法:设置伪静态很简单,只需在后台 – 设置 – 固定链接,再点击最下面的“自定义结构”,把格式改成如下格式:

推荐的格式为:

(1)、/%postname%.html

样式:http://www.it023.cn/post-name.html

(2)、/archives/%post_id%.html

样式:http://www.it023.cn/archives/post-name.html

(3)、/%category%/%post_id%.html

样式:http://www.it023.cn/category/post-name.html

wordpress实现伪静态设置

wordpress实现伪静态设置

2、Win主机设置伪静态的方法:

在Win主机下,用上面的方法会出错,提示找不到页面。按照下面步骤,就能实现win主机伪静态,但前提条件是服务器提供商的控制面板有自定义404错误页面的选项,我想这个功能大部分的主机供应商提供的服务器控制面板都支持这个功能。

(1)新建一个记事本,在里面输入以下代码,保存并重命名为:wp-404-handler.php

(2)上传wp-404-handler.php文件至网站根目录下。

(3)进入主机控制面板,设置404自定义错误指向wp-404-handler.php文件。

(4)进入WordPress后台管理,设置-固定链接,这时候你就可以随意设置你所喜欢的伪静态格式和后缀了。

<?php 
$qs = $_SERVER['QUERY_STRING']; 
$_SERVER['REQUEST_URI'] = substr($qs, strpos($qs, ‘:80′)+3); 
$_SERVER['PATH_INFO'] = $_SERVER['REQUEST_URI']; 
include(’index.php’); 
?>

建议:链接层次不要太深,并在伪静态地址后面手动加上.htm或.html,不过也有人推荐不要加上伪静态后缀,因为那样搜索引擎可能会认 为那种地址是一个分类目录,而不是一个具体的网页,从而获得更高的搜索排名权重,现在wordpress个人博客也比较流行那种伪静态格式。

3、其他方法:

(1)、首先,确保环境必须支持,

支持rewrite,支持.htaccess文件,不支持的咨询空间商或者购买之前提前咨询这些问题。

如果是本地测试,Xampp默认是支持的,wampserver默认不支持,需要修改,方法

第一步:找到Apache安装目录下httpd.conf这个文件,搜索找到,

“LoadModule rewrite_module modules/mod_rewrite.so”,找到这一行,去掉前面的“#”; 第二步:找到“AllowOverride None”改为“AllowOverride All”.; 第三步:重启apache。

(2)、其次,进行伪静态规制的设置,在后台,设置,固定连接,常用设置,除了默认,随便点一个,就会在根目录自动产生.htaccess文件,如果没有生成的,自己再根目录创建一个txt文件,然后复制下边的代码,然后重命名为.htaccess文件即可.

# BEGIN WordPress
RewriteEngine On
RewriteBase /wordpress/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]
# END WordPress

写法参数:

1. %year% 基于文章发布年份,比如2007;

2. %monthnum% 基于文章发布月份,比如05;

3. %day% 基于文章发布当日,比如28;

4. %hour% 基于文章发布小时数,比如15;

5. %minute% 基于文章发布分钟数,比如43

6. %second% 基于文章发布秒数,比如33

7. %postname% 基于文章的postname,其值为撰写时指定的缩略名,不指定缩略名时是文章标题;

8. %post_id% 基于文章post_id,比如423;

9. %category% 基于文章分类,子分类会处理成“分类/子分类”这种形式;

10. %author% 基于文章作者名。

将上述参数进行组合,即可得到wordpress的固定链接形式。

网上常见的写法:

/%year%/%monthnum%/%day%/%postname%/

/%year%/%monthnum%/%postname%/

/%year%/%monthnum%/%day%/%postname%.html

/%year%/%monthnum%/%postname%.html

/%category%/%postname%.html

/%category%/%post_id%

/%postname%.html

/%post_id%.html

4、服务商用的iis服务器的,解决办法:

(1)、首先你先问你空间商,你购买的空间支持不支持伪静态,一般购买的付费空间/虚拟主机都是支持的。如果支持的话,就创建一个httpd.ini文件,把下面代码一或者代码二保存到该文件中,上传到网站的根目录就可以了。然后,之后进入wordpress后台修改固定链接,比如修改为:%/tegory%/%post_id%.html。

代码如下:

[ISAPI_Rewrite]
# Defend your computer from some worm attacks
#RewriteRule .*(?:global.asa|default\.ida|root\.exe|\.\.).* . [F,I,O]
# 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 /tag/(.*) /index\.php\?tag=$1
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]

 

5、Nginx伪静态规则

Nginx环境一般是Linux 主机 VPS或服务器用户用的比较多,这些用户一般都会自己配置Nginx,或者有专门的人帮你配置,打开 nginx.conf 或者某个站点的配置环境,比如 it023.cn.conf(不同人配置的不一样),在 server { } 大括号里面添加下面的代码:

location / {
if (-f $request_filename/index.html){
 rewrite (.*) $1/index.html break;
 }
if (-f $request_filename/index.php){
 rewrite (.*) $1/index.php;
 }
if (!-f $request_filename){
 rewrite (.*) /index.php;
 }
}

保存,重启 Nginx 即可。

6、还有一种方法就是用wordpess插件:

(1)cos-html-cache插件

(2)wp-super-cache静态化缓存插件

(3)NO categories插件

用法:安装NO categories插件,然后再改永久链接为/%postname%.html即可。

(4)wp slug translate插件

用法:能实现好看点的链接名。

推荐用wp-super-cache

如果用cos-html-cache,它可以将我们首页及文章(Post)进行静态化,不过对于页面、标签和分类,却不起作用。

可以做如下修改:

为了能够实现WordPress的标签和分类的静态化,需要修改一下这个插件的代码,修改方法是:

找到下面这一行:

if( substr_count($_SERVER['REQUEST_URI'], '.htm') || ( SCRIPT_URI == CosSiteHome) ){

将其修改为:

if( substr_count($_SERVER['REQUEST_URI'], 'page') || substr_count($_SERVER['REQUEST_URI']
, 'tag') ||substr_count($_SERVER['REQUEST_URI'], 'category') || substr_count($_SERVER
['REQUEST_URI'], '.htm') || ( SCRIPT_URI == CosSiteHome) ){

在下面这一行:

if(  substr_count($_SERVER['REQUEST_URI'], '../'))  $is_buffer = false;

的后面增加一行:

if(  substr_count($_SERVER['REQUEST_URI'], 'comment'))  $is_buffer = false;

找到下面这一行:

add_action('get_footer', 'CosSafeTag');

用//将其注释。

7、wordpress永久链接设置技巧:

(1)、不要让日期出现在wordpress固定链接里面
这基于两个方面的考虑。一是如果数字出现在固定链接里面,等于提醒搜索引擎,这是很旧的内容了,没必要再爬一遍了。另外一个原因是,假如你要修改文章的日期重新发布的话,链接地址就变了,也就是意味着你的反向链接,PR 等等都没有了。

(2)、不要让分类的链接出现在固定链接里面

这一点是很多人都会忽略的地方。让分类出现在固定链接里面有两个缺陷:一是一篇文章如果选择了多个分类的话,则会出现多个链接地址,这很容易造成因为重复内容而被搜索引擎惩罚;二是有可能会造成关键词堆砌而被搜索引擎惩罚。

(3)、链接不要过深

这一点经常看到。很多wordpress 用户的固定链接是年/月/日/分类名/文章名。这种过于深的固定链接对搜索引擎是非常不友好的。

(4)、不要让中文字符出现在固定链接里面

虽然现在的搜索引擎已经能识别URL地址里面的中文字符,但无论是从美观上,还是从wordpress 优化的角度来看,都是非常差的。

 

 

 

本文固定链接: http://www.it023.cn/2014/09/19/wordpress%e5%ae%9e%e7%8e%b0%e4%bc%aa%e9%9d%99%e6%80%81/ | IT重庆

avatar
该日志由 IT重庆 于2014年09月19日发表在 wordpress 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: wordPress实现伪静态 | IT重庆
关键字: ,

wordPress实现伪静态:等您坐沙发呢!

发表评论

快捷键:Ctrl+Enter