请选择 进入手机版 | 继续访问电脑版

DT模板网 门户 CMS教程 wordpress教程 查看内容

win系统VPS主机wordpress程序伪静态设置方法

2015-9-16 19:34| 发布者: 鬼王潮| 查看: 1070| 评论: 0

摘要: 首先,我想说的是,对于 WordPress 支持最好的当然是 Linux 主机,但国内情况特殊,很多网友和我一样,不会使用Linux主机,因为都是写命令呢,习惯了窗口模式的win主机,所以不得不采用 Windows 主机。而Windows 主 ...
首先,我想说的是,对于 WordPress 支持最好的当然是 Linux 主机,但国内情况特殊,很多网友和我一样,不会使用Linux主机,因为都是写命令呢,习惯了窗口模式的win主机,所以不得不采用 Windows 主机。而Windows 主机下使用 WordPress,还是存在一些 bug,比如,WordPress 的固定链接功能(也就是常说的伪静态)。

下面着重讲下 win 主机(VPS)下的 wordpress伪静态(去除category)的方法。包括

我们都知道,Wordpress程序很强大,对搜索优化很友好,一般我们使用wordpress都会将固定链接设置成伪静态的。但是WP却只能在LINUX系统的服务器中才能很好的使用,在WINDOWS系统的IIS中设置伪静态会在前面加上index.php,所以无法实现真正的伪静态功能。

但现在的国情是了国内大部分的主机空间使用的都是windows操作系统,即所谓的全能空间,说是全能,其实在支持PHP代码以及支持伪静态方面非常废柴。那有没有办法让其支持固定链接呢?只要你的主机支持自定义404页面,那就有办法,无需安装插件,就能让Win主机像Linux 那样,方便使用WordPress的固定链接为静态化地址格式。
网上很多人都在寻找真正解决win主机下的固定链接方法。这里分享一个比较简单的解决方法。包括自定义固定链接

第一种方法:用404.php实现伪静态。

1、新建一个404.txt文档,将以下代码复制进去:

header("HTTP/1.1 200 OK");
      $ori_qs = $_SERVER['QUERY_STRING'];
      $pattern = '/[^;]+;[^:]+:\/\/[^\/]+(\/[^\?]*)(?:\?(.*))?/i';
      preg_match($pattern, $ori_qs, $matches);
      $_SERVER['PATH_INFO'] = $matches[1] . '?' . $matches[2];
      $_SERVER['REQUEST_URI'] = $_SERVER['PATH_INFO'];
      $query_args = explode('&', $matches[2]);
      unset($_GET);
      foreach ($query_args as $arg)
      {
          $the_arg = explode('=', $arg);
          $_GET[$the_arg[0]] = $the_arg[1];
      }
      include('index.php');
      ?>

复制进去后,点击另存为,保存为404.php.

2、然后进入WP后台,【设置】–【固定连接】里面,先把固定连接选择自定义,设置成/%post_id%.html。

3、上传下面的404.php页面到网站根目录下,然后在虚拟主机控制面板里面修改404跳转页面为刚才上传的404.php,这样就可以实现伪静态了。

第三步是个重点,下面看图。

(1)、打开Internet 信息服务(IIS)管理器
(2)、找到自己的网站,右键属性。
(3)、找到 找到404页面 
(4)、编辑
到此 已基本可以解决伪静态,

第二种方法
首先你的主机(或者VPS)要装Rewrite 组件,现在国内很多WINDOWS主机都有装这个了,但是很多主机商,没有开启,所以你得让他给你开好。
使用方法:新建httd.ini文件,复制以下代码,保存。直接上传到网站的根目录。然后去WP后台设置固定连接:/%post_id%.html
然后在httpd.ini 中加入如下代码:

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

但是,有时候会出现这样那样的问题

如果用了第二种方法导致百度地图链接打不开请添加以下两句代码:

RewriteRule /sitemap.html /sitemap.html [L]
RewriteRule /sitemap_baidu.xml /sitemap_baidu.xml [L]

第三种方式:另外一个比较具体的写法,如果用第二个有问题,可以尝试这个
[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]
这种,就是万能的了。
以上几步做完就OK了~。
如果是自己的vps,而没有 IIS Rewrite 组件,那就得自己配置一个了。
下面是配置教程:
(1)、将下载的 IIS Rewrite (ISAPI_Rewrite3.rar)组件解压,放到适当的目录(如C:ISAPI_Rewrite3)下。
(2)、解压完毕后,您需要给C:\ISAPI_Rewrite3目录加上adms,system全部的权限、Users读与运行的权限,如果您不加上Users的权限,就会造成IIS无法启动。


(3)、设置好权限后,在 IIS 管理器里选择网站,右键选择“属性”,
(4)、然后选择ISAPI筛选器,然后点击“添加” 选型卡
(5)、点击添加选项卡之后,在筛选器名称填写iiswrite,可执行文件选取:C:\ISAPI_Rewrite3\ISAPI_Rewrite.dll ,也就是解压isapi_rewrite 3的文件夹路径。
(6)、点击“确定” 按钮。
(7)、重新启动 IIS 。
(8)、点击确定
(9)、重新选择网站 => 右键“属性”=> “ISAPI 筛选器”,如果看到状态为向上的绿色箭头,就说明 IISRewrite 模块安装成功了。
到此你就可以成功在win主机下完成伪静态了。

另外,如果需要去掉固定链接的分类,你可以使用一个插件加上修改wordpree程序文件class-wp.php的方法实现文章名.html,请看下面:
我们需要将分类去掉,去掉的方法很容易,只须装置WP No Cingestedgory Bautomotive service engineers插件即可,装上后无需设置,主动的就将分类目录默许前缀分类去掉了,去掉后,我们的URL地址就会收缩像这样了/%postname%.html

鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论

精品推荐

极品资源

原创模板

下载排行

资源分类



返回顶部