在伯汉虚拟主机上启用PHPWind论坛静态目录部署(Rewrite 相关)
apache吧
全部回复
仅看楼主
level 1
mick221 楼主
启用静态目录部署的好处就是将论坛链接转化成html的形式,增加搜索引擎的收录,这需要服务器ReWrite功能的支持。但是我在伯汉主机上配置启用这个功能时,却一直不能成功。请看PW官方对此功能的说明:[quote]功能说明:此功能把论坛的URL转换成更容易被搜索引擎收录的形式,普通用户只需开启静态目录部署功能即可,URL形式如:[url]http://www.phpwind.net/thread.php?fid_2.html[/url],不过这种形式中包含有(.php?), 可能会被某些搜索引擎判定为是动态页面, 而降低网站内容被收录的机率,为了能更好的提高您的网站被搜索引擎收录的机率,可以使用参照下面的方法对服务器进行相关设置使用方法:以apache服务器为例介绍使用方法.1.在静态目录部署中,开启静态目录部署功能,将静态目录设置为"/htm/",将静态目录扩展名设置为:".html" 默认的URL形式为 "http://www.phpwind.net/thread.php?fid=2" 新的URL形式为 "http://www.phpwind.net/thread/htm/fid_2.html" 这种纯静态形式的URL更易被搜索引擎收录2.Apache Web Server 的配置 首先确定加载了 Mod_rewrite 模块,方法: 检查 conf/httpd.conf 中是否存在以下两段代码 (具体路径可能会有所不同,但形式基本是一样的):(一)LoadModule rewrite_module libexec/mod_rewrite.so(二)AddModule mod_rewrite.c如果存在,那么在配置文件(通常就是conf/httpd.conf)中加入如下代码。此时须注意,如果网站使用通过虚拟主机来定义,请务必加到虚拟主机配置中去,否则可能无法使用。改好后然后将 Apache 重启.
RewriteEngine OnRewriteRule ^(.*)/htm/(.*)$ $1.php?$2[/quote]按照它的要求,我上传到www目录下的 .htaccess 文件内容如下:[quote]RewriteEngine OnRewriteBase /#论坛&博客RewriteRule ^(.*)/htm/(.*)$ $1.php?$2#论坛无图版RewriteRule ^(.*)/simple/([a-z0-9\_]+\.html)$ $1/simple/index.php?$2[/quote]可是当我以 [url]http://www.hnlinux.net/bbs/thread/htm/fid-107.html[/url] 这样的链接来访问论坛时,却总是显示:[quote]Not FoundThe requested URL /bbs/thread.php[color=Red].php[/color] was not found on this server.Apache/1.3.34 Server at [url]www.hnlinux.net[/url] Port 80[/quote]很明显,,我用红色字体标示出的".php"是不应该有的。在PW的官方论坛上没有人提出同样的问题,我看了几个启用静态目录部署的论坛,在他们那里也没有我这个问题,似乎可以排除论坛程序的原因。但奇怪的是无图版的伪静态访问又十分正常,似乎服务器的Rewrite也没有问题。俺面皮薄,怕是因为自己水平不够遗漏了什么,不敢随意发帖求助, :(昨天升级论坛程序版本到 Build 20060227 之后,这个问题仍然没有得到解决。后来看到PW官方论坛的链接形式做了变化,受此启发,突然灵机一动,将论坛后台设置中的静态目录以及 .htaccess 文件中的 "/htm/" 都改为 "-htm-",哈哈……终于成功了!!!大家可以进我的论坛测试一下: [url]http://www.hnlinux.net/bbs[/url]直接用更改过的链接访问也行:[url]http://www.hnlinux.net/bbs/thread-htm-fid-107.html[/url]希望本帖可以给某些有需要的朋友带来方便。谢谢大家捧场!另外,虽然我的论坛目前使用是正常了,但我也希望伯汉官方能够对这个问题做出一定的解释。就当是技术上的探讨吧。
2006年02月28日 12点02分 1
1