首页 学建网站 wordpress在lin...

wordpress在linux和windows主机下怎么实现伪静态?

作者:

修改日期:

对于网站伪静态问题,一直是很多学员纠结的地方,网上虽然也能搜索到很多,但是很多也都是泛泛而谈,没有详细的步骤,这里小川就为大家说明一下具体怎么实现吧,现在主流的主机主要包括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转向,这个不能少了,直接看图吧:
404

好了说下一种方法:
2、httpd.ini 文件实现;
这种方法也可以实现伪静态,方法很简单,下载下面我写好的文件,解压上传到网站根目录下就可以了,其他就不说了;
下载文件:httpd
如果文件不能下载,直接新建文件:httpd.ini,然后把以下代码复制到文件夹里面即可:

    [ISAPI_Rewrite]
# 3600 = 1 hour
    CacheClockRate 3600

    RepeatLimit 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]