当前位置:编程学习 > 网站相关 >>

分享关于Discuz! X2.5网站伪静态的设置方法

在这里站长资源库为大家提供linux下面和windows下面的Discuz! X2.5网站伪静态的设置方法,希望你喜欢:

要想设置伪静态,前提是需要您的虚拟主机支持伪静态,如果您的虚拟主机不支持伪静态,那么设置了也没用的!


Linux主机的设置方法:

如果您的空间是linux主机,那么,您就需要将下面的这些URL静态化规则写入您网站的根目录下的.htaccess文件里面,规则如下:

=============================================================

RewriteEngine On

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
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^([a-z]+[a-z0-9_]*)-([a-z0-9_\-]+)\.html$ plugin.php?id=$1:$2&%1
=============================================================

第二步:接下来,我们再来到论坛的后台,全局—SEO设置—URL伪静态,然后将里面的框框全部打勾,如下图:
 
点击查看原图


全部打钩好后再点击提交,OK,伪静态设置成功,然后再更新下论坛的缓存即可看到效果!



windows主机设置方法:
 
第一步:建立一个名为 httpd.ini 的文件,可以先在电脑上面新建一个文本,然后将下面的这些代码复制到本文里面,再保存。

=============================================================
[ISAPI_Rewrite]

# 3600 = 1 hour
CacheClockRate 3600

RepeatLimit 32

# Protect httpd.ini and httpd.parse.errors files
# from accessing through HTTP

RewriteRule ^(.*)/topic-(.+)\.html(\?(.*))*$ $1/portal\.php\?mod=topic&topic=$2&$4
RewriteRule ^(.*)/article-([0-9]+)-([0-9]+)\.html(\?(.*))*$ $1/portal\.php\?mod=view&aid=$2&page=$3&$5
RewriteRule ^(.*)/forum-(\w+)-([0-9]+)\.html(\?(.*))*$ $1/forum\.php\?mod=forumdisplay&fid=$2&page=$3&$5
RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html(\?(.*))*$ $1/forum\.php\?mod=viewthread&tid=$2&extra=page\%3D$4&page=$3&$6
RewriteRule ^(.*)/group-([0-9]+)-([0-9]+)\.html(\?(.*))*$ $1/forum\.php\?mod=group&fid=$2&page=$3&$5
RewriteRule ^(.*)/space-(username|uid)-(.+)\.html(\?(.*))*$ $1/home\.php\?mod=space&$2=$3&$5
RewriteRule ^(.*)/blog-([0-9]+)-([0-9]+)\.html(\?(.*))*$ $1/home\.php\?mod=space&uid=$2&do=blog&id=$3&$5
RewriteRule ^(.*)/(fid|tid)-([0-9]+)\.html(\?(.*))*$ $1/index\.php\?action=$2&value=$3&$5
RewriteRule ^(.*)/([a-z]+[a-z0-9_]*)-([a-z0-9_\-]+)\.html(\?(.*))*$ $1/plugin\.php\?id=$2:$3&$5
=============================================================


通常情况下,默认就可以支持伪静态了。有时IIS配置环境下需要手动加ISAPI筛选器才可以实现伪静态的正常显示。我的服务器是托管的,win2003系统,IIS6,以前有在服务器上做过Discuz! X2.0的网站,所以服务器伪静态都配置好了,而这次的问题是出在IIS的设置上面,打开IIS管理器,找到要修改的网站,右键属性——ISAPI筛选器——添加,筛选器名称为Rewrite,再点击浏览,找到Rewrite.rar 的压缩包解压后的Rewrite.dll文件确实后,问题就解决了,Rewrite.rar这个压缩包在Discuz!官网有下载。

点击查看原图

实现网站的效果:http://www.zhaoxi.net

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,