Discuz!官方免费开源建站系统

 找回密码
 立即注册
搜索

[已答复] 求ss伪静态化后,上下翻页无法识别的问题

[复制链接]
zhuisu 发表于 2009-11-2 00:51:44 | 显示全部楼层 |阅读模式
开启了伪静态化,但是点击上一页和下一页时候就出现原来的动态,转到新的页面不自动转为伪静态

比如?action-viewnews-itemid-545 而不转为 http://www.bianjichuban.com/info/viewnews-545.html

请问应该如何写htaccess呢,谢谢帮助

此外,如何使输入?action-viewnews-itemid-545的都自动转为http://www.bianjichuban.com/info/viewnews-545.html 呢

比仿着域名的
RewriteCond %{HTTP_HOST} !^www.bianjichuban.com$ [NC]
RewriteRule ^(.*)$ http://www.bianjichuban.com/$1 [L,R=301]

写了一下发现不对:
RewriteCond %{QUERY_STRING} !^viewnews-$ [NC]
RewriteRule ^viewnews(.+)$ ?action-viewnews-itemid$1 [L,R=301]
回复

使用道具 举报

lidq.jingwu 发表于 2009-11-2 09:15:38 | 显示全部楼层
你的规则应该不是官方给出的吧:
如何在IIS环境下配置Rewrite规则:http://faq.comsenz.com/viewnews-11
如何在Apache环境下配置Rewrite规则:http://faq.comsenz.com/viewnews-12
伪静态规则下载:https://download.discuz.vip/SupeSite/SupeSite_Xspace_help.zip
回复

使用道具 举报

 楼主| zhuisu 发表于 2009-11-2 12:20:32 | 显示全部楼层
你好,我使用的规则也是和官方的一致啊:
  1. ###        将 RewriteEngine 模式打开
  2. RewriteEngine On
  3. ###        修改以下语句中的 /supesite 修改为你的SupeSite目录地址,如果程序放在根目录中,请将 /supesite 修改为 /
  4. RewriteBase /info

  5. ###        Rewrite 系统规则请勿修改
  6. RewriteRule ^([0-9]+)/spacelist(.+)$ index.php?uid/$1/action/spacelist/type$2 [L]
  7. RewriteRule ^([0-9]+)/viewspace(.+)$ index.php?uid/$1/action/viewspace/itemid$2 [L]
  8. RewriteRule ^([0-9]+)/viewbbs(.+)$ index.php?uid/$1/action/viewbbs/tid$2 [L]
  9. RewriteRule ^([0-9]+)/(.*)$ index.php?uid/$1/$2 [L]
  10. RewriteRule ^([0-9]+)$ index.php?uid/$1 [L]

  11. RewriteRule ^action(.+)$ index.php?action$1 [L]
  12. RewriteRule ^category(.+)$ index.php?action/category/catid$1 [L]
  13. RewriteRule ^viewnews(.+)$ index.php?action/viewnews/itemid$1 [L]
  14. RewriteRule ^viewthread(.+)$ index.php?action/viewthread/tid$1 [L]
  15. RewriteRule ^mygroup(.+)$ index.php?action/mygroup/gid$1 [L]
复制代码
普通页面都显示静态化的,就是唯独上下翻页后又回到了动态了,还不能够解决
回复

使用道具 举报

lidq.jingwu 发表于 2009-11-2 14:01:40 | 显示全部楼层
换回默认模板试一下是否正常。
回复

使用道具 举报

lidq.jingwu 发表于 2009-11-2 14:01:42 | 显示全部楼层
换回默认模板试一下是否正常。
回复

使用道具 举报

kakashow 发表于 2009-11-2 14:34:50 | 显示全部楼层
1# zhuisu


    回楼主:你是不是要说“上一篇”“下一篇”的链接伪静态?晕~那个不叫上下翻页,不一样。

上一篇下一篇那个链接你用的不是官方模板,而且你改的也有问题。

正确的改法:https://discuz.dismall.com/viewth ... =%C9%CF%D2%BB%C6%AA
回复

使用道具 举报

 楼主| zhuisu 发表于 2009-11-2 20:53:22 | 显示全部楼层
本帖最后由 zhuisu 于 2009-11-2 21:51 编辑

对对,是上下篇,不是分页,那个链接我没有修改,是默认的啊
我认为ss7是这个bug
你这个相当于重新原来的batch.common.php?action=viewnews&op=up&itemid=556&catid=5无用处了

我重新写了一个,在viewnews.php文件增加:
  1. //调上标题
  2. $title_a = $_SGLOBAL['db']->result($_SGLOBAL['db']->query('SELECT subject  FROM '.tname('spaceitems').' WHERE itemid < \''.$itemid.'\' AND catid = \''.$thecat['catid'].'\' AND folder=\'1\' AND type=\'news\' ORDER BY itemid DESC LIMIT 0,1'), 0);
  3. if(!$title_a) $title_a = '已经第1了';
  4. //调上标题id
  5. $title_aid = $_SGLOBAL['db']->result($_SGLOBAL['db']->query('SELECT itemid  FROM '.tname('spaceitems').' WHERE itemid < \''.$itemid.'\' AND catid = \''.$thecat['catid'].'\' AND folder=\'1\' AND type=\'news\' ORDER BY itemid DESC LIMIT 0,1'), 0);

  6. //调下标题
  7. $title_b = $_SGLOBAL['db']->result($_SGLOBAL['db']->query('SELECT subject  FROM '.tname('spaceitems').' WHERE itemid > \''.$itemid.'\' AND catid = \''.$thecat['catid'].'\' AND folder=\'1\' AND type=\'news\' ORDER BY itemid LIMIT 0,1'), 0);
  8. if(!$title_b) $title_b = '下一篇:未';
  9. //调下一标题id
  10. $title_bid = $_SGLOBAL['db']->result($_SGLOBAL['db']->query('SELECT itemid FROM '.tname('spaceitems').' WHERE itemid > \''.$itemid.'\' AND catid = \''.$thecat['catid'].'\' AND folder=\'1\' AND type=\'news\' ORDER BY itemid LIMIT 0,1'), 0);
  11. //代码结束
复制代码
然后在templates/default/news_view.html.php修改:
  1. <div id="article_pn"><a class="box_l" href="{S_URL}/viewnews-$title_aid.html">上一篇:$title_a</a><a class="box_r" href="{S_URL}/viewnews-$title_bid.html">下一篇:$title_b</a></div>
复制代码
效果好啊:http://www.bianjichuban.com/info/viewnews-555.html

新咨询discuz.dismall.com
1、这样直接显示了,不过不清楚为什么href="{S_URL}/viewnews-$title_aid.html"显示时候却是url/viewnews-1之类的,后缀.html却不显示,有知道是怎么回事的吗
注:经过摸索,找到原因了,似乎用viewnews-{$title_aid}.html就可以了,不用{}的话就不可以,有谁可以解释一下这个php

2、此外,请教一个php读取数据库操作的问题:
在上面我用了多个变量分别调出$title_b标题和$title_bid编号,似乎重复操作数据库,不友好。怎么在查询的时候SELECT subject+‘|’+itemid,比如得到结果“标题|123”,然后用split分割一下,这样一此读取两个内容,然后分割给两个变量,减少数据库操作啊?,麻烦帮忙啊,谢谢
回复

使用道具 举报

 楼主| zhuisu 发表于 2009-11-2 21:22:51 | 显示全部楼层
本帖最后由 zhuisu 于 2009-11-2 21:28 编辑

http://www.bianjichuban.com/info/viewnews-555.html 看看效果,

此外为什么编辑时候不显示链接啊

恩不错,看看我修改的这个
https://discuz.dismall.com/viewthread.php?tid=1467956&pid=12324907&page=1&extra=#pid12324650

效果http://www.bianjichuban.com/info/viewnews-555.html

记过测试,发现帖子里面不带discuz.dismall.com的就不会显示超链接啊,这是为什么呢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-9-15 23:03 , Processed in 0.325461 second(s), 14 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表