最近由于要换空间了,发现要换的是Win主机,而我们做WP博客的朋友都知道喜欢弄伪静态什么的。而Win空间要想完美支持伪静态可得大费周章,星雨亦是,找了不少的教程,自己也摸索了下,一个字累,还好最后搞定了.
网上的教程几乎都是博客链接能伪静态,可中文标签的链接打不开,出现404错误页。而下面介绍的方法则是非常完美的。
下面就说说如何完美实现WP博客的伪静态:
1、写httpd.ini (用记事本即可,写好后放在根目录下OK)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
[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 throughRewriteRule /software-files/(.*) /software-files/$1 [L] RewriteRule /images/(.*) /images/$1 [L] 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] |
另外,这里要注意,因为这个是专为WordPress使用的规则,所以,如果WordPress下还有其他要使用的目录的话就会出错的,例如,WordPress目录下还有个bbs目录要单独访问的话,使用此规则就会出错,所以就需要在规则中加上如下一条
1 |
RewriteRule /bbs/(.*) /bbs/$1 [L] |
2、比如博客地址含有中文,或者是标签是中文的,就会转向到404页面,是通过httpd.ini解决不了的,必须来修改源代码。
修改网站目录下wp-includes/class-wp.php文件(请先行备份):
第一步:找到
1 |
$pathinfo = $_SERVER['PATH_INFO']; |
修改为
1 |
$pathinfo = mb_convert_encoding($_SERVER['PATH_INFO'], ‘UTF-8′, ‘GBK’); |
第二步:找到
1 |
$req_uri = $_SERVER['REQUEST_URI']; |
修改为
1 |
$req_uri = mb_convert_encoding($_SERVER['REQUEST_URI'], ‘UTF-8′, ‘GBK’); |
就这样,中文的TAG标签页等都可以打开了的。
现在看是不是可以完美解决了呢,,哈哈 总共就两步还是蛮简单的!
转载请注明:网页阁吧 » Win空间上如何实现WordPress博客的完美伪静态