discuz 门户 伪静态x2怎么伪静态,就像大学生恋爱网这个网站呢,打开后看它的帖子就是静态页

升级X2.0后,网站的伪静态无法使用了
把域名设置全去掉就好了
zhouhuan18 发表于
把域名设置全去掉就好了
beijing200808 发表于
直接使用X2后台的伪静态规则
后台的也不能用。。。。
huketing 发表于
我也遇到这个问题了 能否详细说明下 怎么“域名设置全去掉”?&&不是很理解~
本帖最后由 dadiwan 于
09:57 编辑
Discuz x2.0 伪静态解决方法(IIS篇)
Discuz x2.0的发布引起万千站长疯狂下载升级使用,而大多数站长,在升级或新安装后,都发现Discuz x2.0的伪静态不生效,小编通过搜集相关资料,发现这是官方发布Discuz x2.0时留下的一个BUG,只要通过小小的修改就能实现伪静态了。
好了,费话少说了,现转入正题。
首先要将这个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']);
生成的httpd.ini放在根目录下:
[ISAPI_Rewrite]
CacheClockRate 3600
RepeatLimit 32
# Protect 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 ^(.*)/([a-z]+)-(.+)\.html(\?(.*))*$ $1/$2\.php\?rewrite=$3&$5
问题解决!
原文地址:
/try/_1.htm
Powered by查看: 1524|回复: 9
X2的伪静态问题,很久无法解决的难题,大家都来看看
我在网站的根目录/下安装了帝国cms,把discuz X2安装在网站的子目录/bbs里。我希望通过这样网站来访问discuz x2,并实现伪静态。
我的虚拟主机是支持伪静态的。我已经按照官方的办法,把域名绑定到/bbs目录,在虚拟主机上开启了伪静态功能,并且依据官方提供的Rewrite 规则到设置了htaccess文件。但是,访问具体的板块的时候,还是404错误。
举例子说吧:
但是不能访问/forum-36-1.html这种形式的伪静态网址,也不能访问各个帖子。
这个问题困扰我很久了,哪位知道怎么解决的,请教了。
本帖最后由 秋之子 于
23:44 编辑
RewriteBase写的是什么
直接用RewriteBase /
补充一下,我设置的Rewrite 规则为:
# 将 RewriteEngine 模式打开
RewriteEngine On
# 修改以下语句中的 /discuz 为你的论坛目录地址,如果程序放在根目录中,请将 /discuz 修改为 /
RewriteBase /bbs
# 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
RewriteBase /bbs
RewriteBase /
因为你直接绑定的
相当于你的文件是在根目录的。
秋之子 发表于
RewriteBase写的是什么
直接用RewriteBase /
我试过改成RewriteBase /,还是不行。
htaccess文件,我是放到bbs目录下面的。
tocapm 发表于
我试过改成RewriteBase /,还是不行。
htaccess文件,我是放到bbs目录下面的。
你放到bbs目录下,但你不是通过访问的 只要是顶级域名 这里都用/
秋之子 发表于
你放到bbs目录下,但你不是通过/bbs访问的 只要是顶级域名 这里都用/
如果通过/bbs的方式访问的话,没有问题的。可是我要的是通过的方式。
好像又可以了。不知道是不是服务器缓存的问题。
你说的把RewriteBase /bbs改成RewriteBase /的方法,我之前试过很多次都不行。现在竟然又可以了。
我总结一下吧,把discuz X2安装到二级目录bbs,并且通过的方式访问,实现伪静态。需要有以下几个条件:
1.把域名绑定到/bbs目录,这个需要空间商提供域名绑定支持。
2.到discuz x2后台开启seo优化中的伪静态;
3.把以下rewrite规则添加到/bbs目录下
# 将 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
还有个问题,要把上面的rewrite规则改一下,官方的有问题。
具体而言,把
RewriteRule ^forum-(\w+)-([0-9]+)\.html$ forum.php?mod=forumdisplay&fid=$1&page=$2&%1
RewriteRule ^forum-([0-9]+)-([0-9]+)\.html$ forum.php?mod=forumdisplay&fid=$1&page=$2&%1
Powered byDiscuz X2子目录伪静态的实现方法 - A5站长网
当前位置:
Discuz X2子目录伪静态的实现方法
13:48&&来源:&
  前几天帮人实现Discuz X2的子目录伪静态,以前没做过,就去查了下百度和Discuz论坛,发现好多人都在找这样的伪静态方法,可是都没真正能解决的方法。Discuz X2现在用的人还是比较多的,我不知道有多少人用的是IIS7的,用Apache的就好办一些,因为.hacess是可以设置子目录的伪静态规则的,但是 在IIS7下,webconfig究竟怎么放才能实现子目录伪静态没有试过,我百度的时候还有人说IIS7是Discuz X2的非主流环境。
  下面我就说一下在IIS7下如何实现Discuz X2的子目录伪静态。首先说明一下,在IIS7下我们自己测试的时候之所以不能实现,大部分是因为我们把伪静态的文件放在子目录了,造成主目录的规则跟子目录相互冲突。
  还有一些是在子目录消除了主目录的伪静态继承,但是依旧打不开。南宁SEO通过多次测试发现,IIS7下的子目录伪静态,规则要放在主目录,而且规则的写法不能跟主目录的规则冲突。我这里就不说那么多理论了。直接发规则
&?xml version=&1.0& encoding=&UTF-8&?&
&configuration&
&system.webServer&
&rule name=&WWW 301Redirect& stopProcessing=&true&&&& // 301跳转规则
&match url=&.*& /&
&conditions&
&add input=&{HTTP_HOST}& pattern=&^g$& /&
&/conditions&
&action type=&Redirect& url=&/{R:0}& redirectType=&Permanent& /&
&rule name=&portal_topic&&&&&& // 论坛规则开始
&match url=&^(.*)/topic-(.+).html\?*(.*)$& /&
&action type=&Rewrite& url=&{R:1}/portal.php?mod=topic&topic={R:2}&{R:3}& /&
&rule name=&portal_article&&
&match url=&^(.*)/article-([0-9]+)-([0-9]+).html\?*(.*)$& /&
&action type=&Rewrite& url=&{R:1}/portal.php?mod=view&aid={R:2}&page={R:3}&{R:4}& /&
&rule name=&forum_forumdisplay&&
&match url=&^(.*)/forum-(\w+)-([0-9]+).html\?*(.*)$& /&
&action type=&Rewrite& url=&{R:1}/forum.php?mod=forumdisplay&fid={R:2}&page={R:3}&{R:4}& /&
&rule name=&forum_viewthread&&
&match url=&^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+).html\?*(.*)$& /&
&action type=&Rewrite& url=&{R:1}/forum.php?mod=viewthread&tid={R:2}&extra=page%3D{R:4}&page={R:3}&{R:5}& /&
&rule name=&group_group&&
&match url=&^(.*)/group-([0-9]+)-([0-9]+).html\?*(.*)$& /&
&action type=&Rewrite& url=&{R:1}/forum.php?mod=group&fid={R:2}&page={R:3}&{R:4}& /&
&rule name=&home_space&&
&match url=&^(.*)/space-(username|uid)-(.+).html\?*(.*)$& /&
&action type=&Rewrite& url=&{R:1}/home.php?mod=space&{R:2}={R:3}&{R:4}& /&
&rule name=&home_blog&&
&match url=&^(.*)/blog-([0-9]+)-([0-9]+).html\?*(.*)$& /&
&action type=&Rewrite& url=&{R:1}/home.php?mod=space&uid={R:2}&do=blog&id={R:3}&{R:4}& /&
&rule name=&forum_archiver&&
&match url=&^(.*)/(fid|tid)-([0-9]+).html\?*(.*)$& /&
&action type=&Rewrite& url=&{R:1}/index.php?action={R:2}&value={R:3}&{R:4}& /&
&/rule&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //论坛规则结束
&rule name=&wordpress& patternSyntax=&Wildcard&&&&&&&&&&&&& // WP伪静态规则开始
&match url=&*& /&
&conditions&
&add input=&{REQUEST_FILENAME}& matchType=&IsFile& negate=&true& /&
&add input=&{REQUEST_FILENAME}& matchType=&IsDirectory& negate=&true& /&
&add input=&{REQUEST_URI}& pattern=&^/bbs1& negate=&true& /&
&/conditions&
&action type=&Rewrite& url=&index.php& /&
&/rewrite&
&/system.webServer&
&/configuration&
基本上这个规则的子目录已经确定是bbs了,实在不会的朋友直接抄袭吧。要下载这个规则的朋友可以来我的网站下,在我的域名后面+web.7z就可以了
(作者imshu& 文章出处/intenet/301.html)
作者:imshu
延伸阅读:关键词:
站长杂谈 草根站长信息中心当前位置: >
Discuz x2.5 伪静态设置
阅读工具:字体:
以Discuz x2.5为例设置方法:
  在Discuz后台全局》SEO》URL伪静态里设置好你希望的伪静态地址
  填写好你希望设置的伪静态地址,选择可以,然后提交,提交好后在右上角点击查看当前伪静态规则,伪静态目前提供下面几种主机类型的:
  Apache Web Server(独立主机用户)
  Apache Web Server(虚拟主机用户)
  IIS Web Server(独立主机用户)
  IIS7 Web Server(独立主机用户)
  Zeus Web Server
  Nginx Web Server
  根据你的主机类型复制相应的伪静态代码,然后保存到.htaccess文件(linux系统)或httpd.ini文件(window系统)里,放到你的网站根目录下,更新网站缓存,去测试一下&&
  ps:Discuz x2.5和Discuz x2.0都是这样设置的,其他版本的我没有试过
(责任编辑:大宝库)
------分隔线----------------------------
本教程讲解的全新安装 Discuz! 7.1 的方法(以虚拟空间上安装 Discuz! 7.1 为例演示)...
本教程分三部分为大家讲解升级过程:升级前的准备、升级中的注意事项以及升级后需要进...
Discuz!7.0是康盛创想(Comsenz)公司于2008年12月份发布的一款论坛BBS建站产品。在Disc...
论坛任务系统是在Discuz! 7.0.0 版本中新增的功能,通过使用论坛任务可以起到对用户引...
人靠衣服马靠鞍,网络社区良好用户体验很大程度上来自模板的设计。Discuz! 7.0模板风...
大家期待已久的 Discuz!7.0.0 版本正式发布,特此制作安装教程供大家参考,希望各位站...
赞助商链接
赞助商链接windows系统,discuz!X2伪静态设计httpd.ini文件应该怎么写?_百度知道
windows系统,discuz!X2伪静态设计httpd.ini文件应该怎么写?
是虚拟主机。“# 将 RewriteEngine 模式打开RewriteEngine On# 修改以下语句中的 /discuz 为你的论坛目录地址,如果程序放在根目录中,请将 /discuz 修改为 /RewriteBase /discuz# Rewrite 系统规则请勿修改
”以上这行文字什么意思? 有什么用?我的理解,是不是就把以下这段代码保存成httpd.ini格式的,然后上传到空间根目录,并在论坛后台设置好就行了?[ISAPI_Rewrite] # 3600 = 1 hour CacheClockRate 3600 RepeatLimit 32 # Protect httpd.ini and httpd.parse.errors files # from accessing through HTTP # Discuz Rewrite规则 RewriteRule ^(.*)/archiver/((fid|tid)-[0-9]+\.html)\?*(.*)$ $1/archiver/index\.php\?$2&$4 RewriteRule ^(.*)/forum-([0-9]+)-([0-9]+)\.html\?*(.*)$ $1/forumdisplay\.php\?fid=$2&page=$3&$4 RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html\?*(.*)$ $1/viewthread\.php\?tid=$2&extra=page\%3D$4&page=$3&$4 RewriteRule ^(.*)/space-(username|uid)-(.+)\.html\?*(.*)$ $1/space\.php\?$2=$3&$4 RewriteRule ^(.*)/tag-(.+)\.html\?*(.*)$ $1/tag\.php\?name=$2&$3
提问者采纳
1.问你的空间商,支不支持Rewrite,如果支持,问他默认开启了没有,如果没开启你还要开启。2开启后将你在论坛后台看见的iis6或者7的规则复制到httpd.ini就可以。3,特别说明,如果你的论坛是打开网址后就可以访问的,就要将“RewriteBase /discuz&里面的“discuz”去掉,这是安装目录的意思,就是根目录下的子目录,比如说,你将论坛安装在根目录下的bbs文件夹里面,访问的时候使用“域名/bbs”才可以访问,这时候就要将“discuz”改成“bbs”,这样才可以正常
提问者评价
好的,非常感谢~!!!
其他类似问题
ini文件的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 discuz 门户 伪静态 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信