上个月在淘宝购买了一个空间,安装上discuz!x2百度只是收到了首页,所以今天把论坛改成伪静态看看效果吧。安装之前看一下空间商的空间是什么web服务器,如果是IIS要问一下有没有开启rewrite!(此文献给和我一样是新手的朋友们)
iis+rewrite配置:
直接到论坛后台查看web服务器类型(登陆后就可以看到)
IDC商的拟虚机一般详情都会有说明开通什么服务,我比较懒不会主动联系那些奸商,所以直接上他们的idc页面查看。我购买的是1.2G空间。(查看主机功能--开启了urlrewrite=rewrite??)
有了以上两个条件就可以开启Discuz! X2伪静态:把下面的代码保存成httpd.ini 然后直接上传到你的论坛根目录。
- [ISAPI_Rewrite]
- # 3600 = 1 hour
- CacheClockRate 3600
- RepeatLimit 32
- RewriteRule ^(.*)/topic-(.+)\.html\?*(.*)$ $1/portal\.php\?mod=topic&topic=$2&$3
- RewriteRule ^(.*)/article-([0-9]+)-([0-9]+)\.html\?*(.*)$ $1/portal\.php\?mod=view&aid=$2&page=$3&$4
- RewriteRule ^forum-(\w+)-([0-9]+)\.html$ forum.php?mod=forumdisplay&fid=$1&page=$2&%1
- RewriteRule ^(.*)/forum-(\w+)-([0-9]+)\.html\?*(.*)$ $1/forum\.php\?mod=forumdisplay&fid=$2&page=$3&$4
- RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html\?*(.*)$ $1/forum\.php\?mod=viewthread&tid=$2&extra=page\%3D$4&page=$3&$5
- RewriteRule ^(.*)/group-([0-9]+)-([0-9]+)\.html\?*(.*)$ $1/forum\.php\?mod=group&fid=$2&page=$3&$4
- RewriteRule ^(.*)/space-(username|uid)-(.+)\.html\?*(.*)$ $1/home\.php\?mod=space&$2=$3&$4
- RewriteRule ^(.*)/([a-z]+)-(.+)\.html\?*(.*)$ $1/$2\.php\?rewrite=$3&$4
复制代码
接下来是最后一步,到论坛后台配置一下就完成了。
在可用的选项中勾上,“如果你的服务器不支持 Rewrite 规则中的中文字符,请选择“是”。对于没有此问题的服务器,可以选择“否”"这里要好好理解一下,我的空间是支持rewrite功能,所以我选择“否”点提交。就完成了。
好鸟,按以上的配置一次成功,我的网站是http://www.bnlady.com
Apach伪静态方法
这个论坛是我本地测试,由于本人是菜鸟人也懒,所以直接安装了PHPnow-1.5.6,什么php,什么sql数据库,ZendOptimizer东东都一起安装,非常简单。
其实代码和方法都和rewrite都是一样的,只是Apache服务器要把代码另存为.htaccess
- # 将 RewriteEngine 模式打开
- RewriteEngine On
- # 修改以下语句中的 /discuz 为你的论坛目录地址,如果程序放在根目录中,请将 /discuz 修改为 /
- RewriteBase /
- # Rewrite 系统规则请勿修改
- RewriteCond %{QUERY_STRING} ^(.*)$
- RewriteRule ^topic-(.+)\.html$ portal.php?mod=topic&topic=$1&%1
- RewriteCond %{QUERY_STRING} ^(.*)$
- RewriteRule ^article-([0-9]+)-([0-9]+)\.html$ portal.php?mod=view&aid=$1&page=$2&%1
- RewriteCond %{QUERY_STRING} ^(.*)$
- RewriteRule ^forum-(\w+)-([0-9]+)\.html$ forum.php?mod=forumdisplay&fid=$1&page=$2&%1
- RewriteCond %{QUERY_STRING} ^(.*)$
- RewriteRule ^thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ forum.php?mod=viewthread&tid=$1&extra=page\%3D$3&page=$2&%1
- RewriteCond %{QUERY_STRING} ^(.*)$
- RewriteRule ^group-([0-9]+)-([0-9]+)\.html$ forum.php?mod=group&fid=$1&page=$2&%1
- RewriteCond %{QUERY_STRING} ^(.*)$
- RewriteRule ^space-(username|uid)-(.+)\.html$ home.php?mod=space&$1=$2&%1
- RewriteCond %{QUERY_STRING} ^(.*)$
- RewriteRule ^blog-([0-9]+)-([0-9]+)\.html$ home.php?mod=space&uid=$1&do=blog&id=$2&%1
- RewriteCond %{QUERY_STRING} ^(.*)$
- RewriteRule ^archiver/(fid|tid)-([0-9]+)\.html$ archiver/index.php?action=$1&value=$2&%1
复制代码
把.htaccess文件放在你论坛的根目录,在配置之前我在百度搜索了一下。在站长之家看到一个教程,上面的老手说要修改原文件。其实我也不懂。。就按他的方法来吧。。。。
首先要将这个BUG解决先,打开../source/function/function_core.php这个文件。
查找代码:
$_G['setting']['output']['preg']['search'] = str_replace('\{CURHOST\}', preg_quote($_G['siteurl']), $_G['setting']['output']['preg']['search']);换成:
$_G['setting']['output']['preg']['search'] = str_replace('\{CURHOST\}', preg_quote($_G['siteurl'], '/'), $_G['setting']['output']['preg']['search']); 登陆论坛,按下图就可以了。
下面是我本地论坛的测试图。。。。这样就大功告成们,希望像我一样的小鸟早点成为网络大鸟#——#
|