固定链接不但使文章地址能够美化,而且可以自定义链接内容(发布时间、标题等),有利于搜索引擎理解;同时,可以设置伪静态链接,便于更好的被搜索引擎收录。
Web环境:IIS
一、WordPress后台设置
在后台设置固定链接格式,本例设置选择“自定义结构”,设置为“/%postname%.html”,实际显示效果为“域名+文章标题.html”,以此实现伪静态。
二、配置IIS文件Web.config
IIS添加一条新的重写规则:
<rule name="WordPress固定链接" patternSyntax="Wildcard">
<match url="*"/>
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
</conditions>
<action type="Rewrite" url="index.php"/>
</rule>
三、解决中文链接访问出现404错误
通过修改代码或安装插件“IIS Chinese Tag Permalink”解决。
经过测试,修改代码方式可以在URL中正确显示中文;使用插件方式虽然能够打开页面,但是URL显示为中文转码后的地址,比较不美观。
这里推荐通过修改代码方式解决:
- 进入wp-includes目录,编辑class-wp.php文件
- 找到
$pathinfo = isset( $_SERVER['PATH_INFO'] ) ? $_SERVER['PATH_INFO'] : ''; - 将第二个
$_SERVER['PATH_INFO']替换为mb_convert_encoding($_SERVER['PATH_INFO'], 'UTF-8', 'GBK') - 再找到
list( $req_uri ) = explode( '?', $_SERVER['REQUEST_URI'] ); - 将
$_SERVER['REQUEST_URI']替换为mb_convert_encoding($_SERVER['REQUEST_URI'], 'UTF-8', 'GBK')即可