对于网站伪静态问题,一直是很多学员纠结的地方,网上虽然也能搜索到很多,但是很多也都是泛泛而谈,没有详细的步骤,这里小川就为大家说明一下具体怎么实现吧,现在主流的主机主要包括linux和windows主机两种,下面针对这两种主机类型进行说明:
linux主机
对于用wordpress建站的朋友们,我个人是强烈推荐用linux主机的,因为linux主机可以完美符合wordpress建站程序的需求,同时也会省去我们很多的麻烦,就如伪静态设置,linux主机支持wordpress后台一键静态化设置,设置方法如下:
wordpress:【后台】》【设置】》【固定连接】》选择自定义,复制格式:/%post_id%.html ;
ok!大功告成,就这么简单的!
windows主机
很多朋友很纠结,因为他们以前并不了解linux主机的优越性,已经购买了windows主机,难道就不能设置伪静态了吗?
事实不是这样的,windows主机也是可以设置伪静态的,只是在设置的时候会出现一些小问题,比如目录类型会出现形如:
http://www.***.com/index.php/41.html;
而我们都知道,网站seo优化里面有一条是url目录优化,如果url目录过多,相对权重就会降低,所以多个index.php,不但对seo优化不好,还会很难看,这是无法忍受的,这也是windows主机下wordpress伪静态的一个小bug,怎么去除,看以下方法吧:
1、404页面实现伪静态;
顺便提一下,网站做的专不专业,就看网站里面有没有做404跳转,404页面对于客户体验是很必要的,当网站出现错误链接时,404页面可以帮助客户返回到网站首页,及增加了网站pv值,也给了客户很好的体验,是很必要的。
以上是一个铺垫,windows主机下的伪静态也是需要这个404文件的,找到你网站的404文件,有可能是404.html也可能是404.php这个无关紧要,找到就好了,然后把以下代码复制到文件里面,保存上传;
<?php
$pos = strrpos($qs, ‘://’);
$pos = strpos($qs, ‘/’, $pos + 4);
$_SERVER[‘REQUEST_URI’] = substr($qs, $pos);
$_SERVER[‘PATH_INFO’] = $_SERVER[‘REQUEST_URI’];
include(‘index.php’);
?>
保存上传后,后台设置和linux主机是一样的::【后台】》【设置】》【固定连接】》选择自定义,复制格式:/%post_id%.html ;
做完这个还不算完的,还需要在你的主机服务器里面设置404转向,这个不能少了,直接看图吧:
好了说下一种方法:
2、httpd.ini 文件实现;
这种方法也可以实现伪静态,方法很简单,下载下面我写好的文件,解压上传到网站根目录下就可以了,其他就不说了;
下载文件:httpd
如果文件不能下载,直接新建文件:httpd.ini,然后把以下代码复制到文件夹里面即可:
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600RepeatLimit 32
# Protect httpd.ini and httpd.parse.errors files
# from accessing through HTTP# wordpress 伪静态规则
# For tag(中文标签以及标签翻页的规则)
RewriteRule /tag/(.*)/page/(\d+)$ /index\.php\?tag=$1&paged=$2
RewriteRule /tag/(.+)$ /index\.php\?tag=$1
# For category(中文分类以及分类翻页的规则)
RewriteRule /category/(.*)/page/(\d+)$ /index\.php\?category_name=$1&paged=$2
RewriteRule /category/(.*) /index\.php\?category_name=$1
# For sitemapxml
RewriteRule /sitemap.xml /sitemap.xml [L]
RewriteRule /sitemap.html /sitemap.html [L]
RewriteRule /sitemap_baidu.xml /sitemap_baidu.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]
评论(4)
为啥我实现不了啊 我按照你的两种方法都试了 打开网站的时候找不到页面了就
看论坛的这个帖子:
http://wpbaike.net/bbs/thread-187-1-1.html
新建一个httpd.ini文件,然后把文中的代码复制进去重新尝试下。
川哥!你的第二种方法怎么实现不了伪静态呢?他老是显示!无服务器错误
网站在检索 http://www.seozhoukou.com/category/seo-2 时遇到错误。 该网站可能关闭进行维护或配置不正确。
以下是一些建议:
请稍后重新加载此网页。
HTTP 错误 500(Internal Server Error):服务器尝试执行请求时遇到了意外情况。