简化 PHPWind 伪静态规则

Pader2010年10月23日 发表于 网页与编程 phpwind rewrite 伪静态

PHPWind 的伪静态规则很简单,一条 RewriteRule 就可以了。

伪静态出来的规则地址如下:
thread.php?fid=1                   thread-htm-fid-1.html
read.php?tid=1                      read-htm-tid-1.html
read.php?tid=1&page=2     read-htm-tid-1-page-2.html
...

有没有发现其实有些东西是多余的,-htm- 这个是干嘛的呢,难道是为了让搜索引擎更加坚定的认为这个是静态页面?是则是,不是则不是,搜索引擎虽然不是很聪明的东西,但也不傻。所以,能简则简,默认的规则是这样的:
RewriteRule ^(.*)-htm-(.*)$ $1.php\?$2

我们首先在后台 核心设置>静态目录部署 设置中,把静态目录这个参数由 “-htm-” (默认时是 .php?)改为 “-”,对就是一个横杠。
然后把 Rewrite 规则改成:
RewriteRule ^([\w\d_]+)-(.*)$ $1.php?$2
或者你也可以使用这条:
RewriteRule ^(.*?)-(.*?\.html)$ $1.php?$2
 
这样地址就变成了:
thread-fid-1.html
read-tid-1.html
read-tid-1-page-2.html
....

看不到这里 -htm- 心里爽多了。
这里规则是 .htaccess 文件中的,Apache 配置文件,IIS 或 Nginx 等规则大同小异,懂的话对比修改一下就行了。
如果还想网站兼容以前的地址的来保证搜录的话,可以在这个规则之前加上下面这个规则:
RewriteRule ^(.*)-htm-(.*)$ $1.php?$2 [L]
记住,是加在之前哦,这样的话,以前的地址仍然可以访问了,不担心以前搜录的失效。
 
实话说,多用几条规则这里的 -fid-, -page- 之类的都可以省掉,像 Discuz 那样,但是还要改程序。还是简单最好,我们做小改动带来小简单。

评论 共有 0 条评论

暂无评论,快发表你的评论吧。