·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

请问下Discuz! X3.4主题列表页的返回后缀怎么删除?

531 2
发表于 2020-11-18 09:08:09 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
请问下Discuz! X3.4主题列表页的返回后缀怎么删除?如下图所示,谢谢。
请问下Discuz! X3.4主题列表页的返回后缀怎么删除? 请问,主题,主题列表,列表,返回
我要说一句 收起回复

评论2

Discuz智能体Lv.8 发表于 2025-3-16 14:08:09 | 查看全部
在Discuz! X3.4中,主题列表页的返回后缀通常是指URL中的`&page=1`、`&orderby=lastpost`等参数。这些参数是用于控制分页、排序等功能的。如果你希望删除这些后缀,可以通过以下方法来实现:

### 方法一:修改模板文件
1. **找到模板文件**:主题列表页的模板文件通常位于`template/default/forum/forumdisplay.htm`。你可以通过FTP或文件管理器找到这个文件。

2. **修改模板文件**:在`forumdisplay.htm`文件中,找到生成分页链接的代码部分。通常,分页链接是通过`<a>`标签生成的,类似于:
  
  1. <a href="forum.php?mod=forumdisplay&fid=1&page=1">1</a>
复制代码

   你可以将这些链接修改为不带后缀的URL,例如:
  
  1. <a href="forum.php?mod=forumdisplay&fid=1">1</a>
复制代码


3. **保存并上传**:修改完成后,保存文件并上传到服务器。

### 方法二:通过插件或自定义代码
如果你不想直接修改模板文件,可以通过插件或自定义代码来实现。你可以编写一个插件,通过钩子(hook)来修改生成的URL。

1. **创建插件**:在`source/plugin/`目录下创建一个新的插件目录,例如`remove_url_suffix`。

2. **编写插件代码**:在插件目录下创建一个`discuz_plugin_remove_url_suffix.xml`文件,定义插件的基本信息。然后创建一个`plugin.php`文件,编写代码来修改URL。

   例如:
  
  1. <?php
  2.    if(!defined('IN_DISCUZ')) {
  3.        exit('Access Denied');
  4.    }

  5.    class plugin_remove_url_suffix {
  6.        function global_footer() {
  7.            global $_G;
  8.            if (strpos($_G['siteurl'], 'forum.php?mod=forumdisplay') !== false) {
  9.                $_G['siteurl'] = preg_replace('/&page=\d+/', '', $_G['siteurl']);
  10.                $_G['siteurl'] = preg_replace('/&orderby=[^&]*/', '', $_G['siteurl']);
  11.            }
  12.        }
  13.    }
复制代码


3. **安装插件**:将插件上传到服务器后,进入DZ插件网后台,安装并启用插件。

### 方法三:通过URL重写
如果你熟悉服务器配置,可以通过URL重写规则来去除这些后缀。例如,在Apache服务器上,你可以在`.htaccess`文件中添加如下规则:

  1. RewriteEngine On
  2. RewriteCond %{QUERY_STRING} ^(.*)&page=\d+(.*)$
  3. RewriteRule ^(.*)$ /$1?%1%2 [R=301,L]
复制代码


这个规则会将URL中的`&page=1`等参数去除。

### 注意事项
- 在修改模板文件或编写插件时,建议先备份原始文件,以防出现问题。
- 如果你不熟悉PHP或服务器配置,建议寻求专业开发者的帮助。

希望这些方法能帮助你解决问题!如果还有其他问题,欢迎继续提问。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复
Discuz智能体Lv.8 发表于 2025-3-21 17:57:42 | 查看全部
在Discuz! X3.4中,主题列表页的返回后缀通常是由URL中的参数控制的。如果你想删除这个返回后缀,可以通过修改模板文件或插件来实现。

### 方法一:修改模板文件
1. **找到模板文件**:首先,你需要找到控制主题列表页的模板文件。通常这个文件位于 `template/default/forum/` 目录下,文件名为 `forumdisplay.htm`。

2. **编辑模板文件**:打开 `forumdisplay.htm` 文件,找到生成返回链接的代码部分。通常,返回链接的代码可能类似于:
  
  1. <a href="forum.php?mod=forumdisplay&fid={$fid}&page={$page}">返回</a>
复制代码


3. **删除后缀**:你可以将返回链接的URL修改为不带后缀的形式。例如:
  
  1. <a href="forum.php">返回</a>
复制代码


4. **保存并更新缓存**:保存修改后的模板文件,并进入Discuz!后台,更新模板缓存。

### 方法二:通过插件或钩子修改
如果你不想直接修改模板文件,可以通过编写一个简单的插件或使用钩子来修改返回链接。

1. **创建插件**:在 `source/plugin/` 目录下创建一个新的插件目录,例如 `remove_return_suffix`。

2. **编写插件代码**:在插件目录下创建一个 `discuz_plugin_remove_return_suffix.xml` 文件,定义插件的基本信息。然后创建一个 `plugin.php` 文件,编写如下代码:
  
  1. <?php
  2.    if(!defined('IN_DISCUZ')) {
  3.        exit('Access Denied');
  4.    }

  5.    class plugin_remove_return_suffix {
  6.        function global_footer() {
  7.            global $_G;
  8.            if (strpos($_G['siteurl'], 'forumdisplay') !== false) {
  9.                $script = '<script type="text/javascript">
  10.                    $(document).ready(function() {
  11.                        $("a[href*=\'forumdisplay\']").each(function() {
  12.                            var href = $(this).attr("href");
  13.                            href = href.split("&")[0];
  14.                            $(this).attr("href", href);
  15.                        });
  16.                    });
  17.                </script>';
  18.                return $script;
  19.            }
  20.        }
  21.    }
复制代码


3. **安装插件**:将插件上传到 `source/plugin/` 目录,然后在Discuz!后台的插件管理中安装并启用这个插件。

### 方法三:通过URL重写规则
如果你熟悉服务器配置,可以通过URL重写规则来去除后缀。

1. **修改.htaccess文件**:如果你的服务器是Apache,可以在网站根目录下的 `.htaccess` 文件中添加如下规则:
  
  1. RewriteEngine On
  2.    RewriteCond %{QUERY_STRING} ^(.*)&page=[0-9]+$
  3.    RewriteRule ^forum\.php$ forum.php?%1 [R=301,L]
复制代码


2. **保存并测试**:保存 `.htaccess` 文件,并测试URL是否按预期工作。

### 总结
以上三种方法都可以帮助你删除主题列表页的返回后缀。选择哪种方法取决于你对Discuz!的熟悉程度和你希望实现的方式。如果你不熟悉代码修改,建议使用插件方法;如果你熟悉服务器配置,可以使用URL重写规则。

如果你有更多问题,欢迎继续提问!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

图文热点
关闭

站长推荐上一条 /1 下一条

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:18.117.156.19,GMT+8, 2025-4-3 10:04 , Processed in 1.024921 second(s), 81 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表