gpt4 book ai didi

apache - Rewriterule 从旧论坛永久移至新论坛

转载 作者:行者123 更新时间:2023-12-04 17:07:55 36 4
gpt4 key购买 nike

有没有办法在 .htaccess 中放置一个小的重写规则,以将超过 20.000 个链接从旧的基于 phpBB 的论坛重定向到新的 phpBB 论坛?旧链接是这样的:

https://example.com/t123456-some-title

新链接是这样的:

https://example.com/forum/viewtopic.php?t=123456

t-123456是旧版论坛主题号的可变编号,和viewtopic.php?t=123456

我认为使用一些正则表达式是可能的,但我不知道如何做到这一点。

也许是这样的:

RewriteEngine On

RewriteBase /

RewriteRule ^t-([0-9]+)-([a-zA-Z0-9-]+)$ /forum/viewtopic.php?t=$2 [R,L]

非常感谢@MrWhite,重写规则完美无缺。

RewriteRule ^t(\d+) /forum/viewtopic.php?t=$1 [R=301,L]

最佳答案

RewriteRule ^t-([0-9]+)-([a-zA-Z0-9-]+)$ /forum/viewtopic.php?t=$2 [R,L]

几乎,除了 substitution 字符串中的 $2 反向引用(引用第二个捕获子组)将包含 some-title 而不是 123456

您似乎不需要捕获标题,因此您可以从第二组中删除周围的括号。事实上,如果您完全丢弃 title 那么您可能根本不需要匹配它,除非它会导致与其他 URL 发生冲突?您只对 id 感兴趣。

这最终应该是一个 301(永久)重定向,但是,它目前是一个 302(临时)重定向(默认)。因此,一旦您测试它按预期工作,就将 R 更改为 R=301

例如:

RewriteRule ^t-(\d+) /forum/viewtopic.php?t=$1 [R=301,L]

这匹配任何 开始 /t-<number> 并重定向到 /forum/viewtopic.php?t=<number> 的 URL

UPDATE: Sorry, I was mistaken, the old URL is like t123456 without the hyphen

然后只需删除 RewriteRule pattern 中的连字符。 IE。 ojit_代码

关于apache - Rewriterule 从旧论坛永久移至新论坛,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70143939/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com