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

如何获取门户文章对应的帖子的URL?

498 2
发表于 2022-10-14 17:54:13 | 查看全部 阅读模式

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

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

×
最近网站要搬家,原社区有部分帖子生成了门户文章。老网站的部分门户文章和帖子都有不错的排名。为了继承SEO权重,老站的帖子和门户文章URL要301跳转到新站的文章URL。原这些门户文章中部分可以通过直接点击“查看全部评论”跳转到原帖子来获取URL,但有一些文章没有“查看全部评论”,所以通过前端采集没法获得跳转的原帖子地址。
现在想问:
如何获取DZ门户文章对应的帖子的URL?
我知道答案 回答被采纳将会获得5 金币 + 1 金币 已有0人回答
我要说一句 收起回复

评论2

Discuz智能体Lv.8 发表于 2025-3-16 23:16:19 | 查看全部
要获取Discuz门户文章对应的帖子的URL,可以通过数据库查询来实现。门户文章和帖子之间的关联信息通常存储在数据库中,具体来说,门户文章对应的帖子ID存储在`portal_article_title`表中。

以下是具体的步骤:

### 1. 确定门户文章的ID
首先,你需要知道门户文章的ID。可以通过以下SQL查询来获取门户文章的ID和对应的帖子ID:

  1. SELECT aid, tid FROM pre_portal_article_title;
复制代码


- `aid` 是门户文章的ID。
- `tid` 是对应的帖子ID。

### 2. 获取帖子的URL
一旦你有了帖子ID (`tid`),你可以通过以下方式生成帖子的URL:

  1. $tid = 12345; // 假设这是你获取到的帖子ID
  2. $url = "https://www.yourdomain.com/forum.php?mod=viewthread&tid=" . $tid;
复制代码


### 3. 批量处理
如果你需要批量处理多个门户文章,可以使用以下SQL查询来获取所有门户文章及其对应的帖子URL:

  1. SELECT a.aid, a.tid, CONCAT('https://www.yourdomain.com/forum.php?mod=viewthread&tid=', a.tid) AS thread_url
  2. FROM pre_portal_article_title a;
复制代码


### 4. 301重定向
在获取到门户文章和对应帖子的URL后,你可以在新站上设置301重定向规则。具体实现方式取决于你使用的服务器环境(如Apache、Nginx等)。

#### Apache示例:
  1. Redirect 301 /old-article-url https://www.newdomain.com/new-article-url
复制代码


#### Nginx示例:
  1. location /old-article-url {
  2.     return 301 https://www.newdomain.com/new-article-url;
  3. }
复制代码


### 5. 自动化脚本
如果你有大量的门户文章需要处理,可以编写一个PHP脚本来自动生成301重定向规则。以下是一个简单的示例:

  1. <?php
  2. // 假设你已经连接到数据库
  3. $query = "SELECT a.aid, a.tid, CONCAT('https://www.yourdomain.com/forum.php?mod=viewthread&tid=', a.tid) AS thread_url FROM pre_portal_article_title a";
  4. $result = $db->query($query);

  5. while ($row = $result->fetch_assoc()) {
  6.     $old_url = "https://www.olddomain.com/portal.php?mod=view&aid=" . $row['aid'];
  7.     $new_url = $row['thread_url'];
  8.     echo "Redirect 301 $old_url $new_url\n";
  9. }
  10. ?>
复制代码


这个脚本会输出所有需要设置的301重定向规则,你可以将这些规则直接添加到你的服务器配置文件中。

### 总结
通过查询数据库中的`portal_article_title`表,你可以获取门户文章对应的帖子ID,并生成对应的帖子URL。然后,你可以通过服务器配置或脚本实现301重定向,以继承SEO权重。

如果你有更多问题,欢迎继续提问!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复
Discuz智能体Lv.8 发表于 2025-3-19 03:54:07 | 查看全部
要获取Discuz门户文章对应的帖子URL,可以通过以下几种方法来实现:

### 方法一:通过数据库查询
1. **找到门户文章的ID**:首先,你需要知道门户文章的ID。这个ID可以在门户文章的管理后台或者URL中找到。

2. **查询数据库**:Discuz的门户文章和帖子之间的关系通常存储在数据库中。你可以通过查询数据库来获取对应的帖子ID。

   - 打开数据库管理工具(如phpMyAdmin)。
   - 找到门户文章表 `pre_portal_article`,其中 `aid` 是门户文章的ID。
   - 在 `pre_portal_article` 表中,找到 `tid` 字段,这个字段存储了对应的帖子ID。

3. **获取帖子URL**:一旦你有了帖子ID,你可以通过以下方式生成帖子的URL:
  
  1. http://yourdomain.com/forum.php?mod=viewthread&tid=帖子ID
复制代码


### 方法二:通过Discuz的API或插件
如果你不想直接操作数据库,可以通过编写一个简单的插件或使用Discuz的API来获取门户文章对应的帖子URL。

1. **编写插件**:你可以编写一个插件,通过门户文章的ID来查询对应的帖子ID,并生成帖子URL。

   - 在插件中,你可以使用 `C::t('portal_article')->fetch_by_aid($aid)` 来获取门户文章的详细信息。
   - 然后通过 `$article['tid']` 获取对应的帖子ID。
   - 最后生成帖子URL并输出。

2. **使用API**:如果你有开发能力,可以通过Discuz的API来获取这些信息。你可以参考Discuz的开发手册来了解如何调用API。

### 方法三:通过后台管理工具
如果你有访问Discuz后台的权限,可以通过后台管理工具来查找门户文章对应的帖子。

1. **进入门户文章管理**:在Discuz后台,找到“门户” -> “文章管理”。
2. **查找文章**:在文章列表中,找到你需要查找的门户文章。
3. **查看关联帖子**:在文章详情页面,通常会显示关联的帖子ID或直接提供跳转链接。

### 方法四:通过日志或历史记录
如果你有访问服务器日志的权限,可以通过分析日志来查找门户文章和帖子之间的关联。

1. **分析访问日志**:查找门户文章的访问记录,看看是否有跳转到帖子的记录。
2. **查找跳转URL**:在日志中查找跳转URL,通常会有从门户文章跳转到帖子的记录。

### 总结
通过以上方法,你可以获取到门户文章对应的帖子URL。最直接的方法是通过数据库查询,但如果你不想直接操作数据库,可以通过编写插件或使用API来实现。如果你有后台权限,也可以通过后台管理工具来查找。

希望这些方法能帮助你顺利完成网站搬家并保留SEO权重。如果有更多问题,欢迎继续提问!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

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

本版积分规则

图文热点
关闭

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

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

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

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

您的IP:13.58.228.206,GMT+8, 2025-5-7 09:47 , Processed in 0.626625 second(s), 75 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

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