Godaddy的windows主机的IIS7下WordPress中文URL地址伪静态

warning: 这篇文章距离上次修改已过4932天,其中的内容可能已经有所变动。

现在百度和google都支持网站的URL地址为中文,同时也方便了各位做站的童鞋对网站URL地址进行中文SEO,所以很多网站、博客的URL都开始采用中文地址。 今天我新弄一个WordPress珠宝博客(爱珠宝)的时候也是这么打算的,但是当我使用web.config做伪静态的时候出现404。于是在网上找了如下文方法来解决。因为我的博客是放在Godaddy的windows主机上,所以用的是web.config做伪静态规则。 下面就说说解决方法: 第一步:新建一个“chineseurl.php”文件,内容如下:

<?php

// IIS Mod-Rewrite
if (isset($_SERVER['HTTP_X_ORIGINAL_URL'])) {
$_SERVER['REQUEST_URI'] = $_SERVER['HTTP_X_ORIGINAL_URL'];
}
// IIS Isapi_Rewrite
else if (isset($_SERVER['HTTP_X_REWRITE_URL'])) {
$_SERVER['REQUEST_URI'] = $_SERVER['HTTP_X_REWRITE_URL'];
}
else
{
// Use ORIG_PATH_INFO if there is no PATH_INFO
if ( !isset($_SERVER['PATH_INFO']) && isset($_SERVER['ORIG_PATH_INFO']) )
$_SERVER['PATH_INFO'] = $_SERVER['ORIG_PATH_INFO'];

// Some IIS + PHP configurations puts the script-name in the path-info (No need to append it twice)
if ( isset($_SERVER['PATH_INFO']) ) {
if ( $_SERVER['PATH_INFO'] == $_SERVER['SCRIPT_NAME'] )
$_SERVER['REQUEST_URI'] = $_SERVER['PATH_INFO'];
else
$_SERVER['REQUEST_URI'] = $_SERVER['SCRIPT_NAME'] . $_SERVER['PATH_INFO'];
}

// Append the query string if it exists and isn’t null
if (isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING'])) {
$_SERVER['REQUEST_URI'] .= '?'. $_SERVER['QUERY_STRING'];
}
}

require("index.php");

?>

注:代码来自网络,作者不明。 第二步:如果主机没有“web.config”就新建一个,要是已经有就“web.config”文件内添加下面的内容:

<!--?xml version="1.0"?-->

第三步:将chineseurl.php和web.config这两个文件都上传到WordPress的安装目录。

注意事项: 如果WordPress不是装在根目录,则需要更改

<match url=”^(tag|category)/(.*)$” />

 为

<match url=”^安装目录/(tag|category)/(.*)$” />

如果在固定链接设置里把默认的标签前缀和分类目录前缀(tag 和 category)改了,则更改这句里的对应内容即可,如

<match url=”^article/(tag|category)/(.*)$” />

示例: TAG中文地址:http://www.aizb.net/tag/钻石/

分类中文地址:http://www.aizb.net/category/常见的几种玉手镯式样 /

已有 4 条评论

  1. 不做技术好多年,哈哈,不过还是支持了~

  2. 分类目录的地址成功了,文章页面的不行!求文章页面的解决办法!

  3. 居然不能留言/. 那我就评论试试.
    你也学习PHP?CSS?
    同道中人, 可以交流.
    呵呵.

  4. 空间模板很棒啊,给共享一下呗

添加新评论