今天本来在折腾emlog在windows主机下如何实现伪静态,因为我的本地是linux环境,无法测试其有效性,于是乎我就去叨扰客服了,经过一番云云,发现此方法同样适用于wordpress,下面我把实现过程分享出来,希望能对和我情况相同的同学有所帮助。
打开虚拟主机控制面板,点开“isapi筛选器设置”,里面有三个选项:开启常见系统的url静态化支持;开启自定义的url静态化支持;开启shopex4.8的url静态化支持。
我曾试过第一项:开启常见系统的url静态化支持,但木有成功。最后是通过第二项:开启自定义的url静态化支持来实现伪静态的,开启该项之后,网 站根目录的/others/discuz下面多出了isapi_rewritesnapin.dll,rewrite.dll,error.log , httpd.conf四个文件,现在要编辑的是httpd.conf 文件,我直接把它全部贴出来,里面默认就有301转向:
[isapi_rewrite]
# 3600 = 1 hour
cacheclockrate 3600
repeatlimit 32
#默认包含了301设置,此设置情况下dreamxyt.net/aa.htm 会301跳至www.dreamxyt.net /aa.htm,将dreamxyt.net替换为您自己的域名就能实现自己的域名的301
rewritecond %{http:host} ^dreamxyt.net$
rewriterule (.*) http://www.dreamxyt.net$1 [nc,r=301]
#discuz ! x和discuz x1.5伪静态规则,若不需要或与您的网站程序有冲突可以删除。(这里默认的代码我删除了,下面是wordpress专用的)
rewriterule /avatar/(.*) /avatar/$1 [l]
rewriterule /sitemap_baidu.xml /sitemap_baidu.xml [l]
rewriterule /sitemap.xml /sitemap.xml [l]
rewriterule /sitemap.html /sitemap.html [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 /avatar/(.*) /avatar/$1 [l];rewriterule /sitemap_baidu.xml /sitemap_baidu.xml [l] 这两行是我根据自身实际情况弄的。
第一句的意义是:我的博客读者墙采用的是缓存头像机制,缓存文件夹就是这个在根目录的avatar。
第二句的意义是:和后面那两个一样,只不过是因为我安装了两个生成地图的插件(一个谷歌,一个百度),所以需要加上这个。
做完以上操作之后,文章页,分类页面均实现了伪静态,但是中文标签页打不开,具体解决方法可以参考这篇文章
emlog在windows主机实现伪静态的方法和这个一样,伪静态规则emlog论坛最醒目的地方就有,我就不往过拷了…