【发布时间】:2022-01-05 16:01:37
【问题描述】:
有没有办法在 .htaccess 中放置一个小的 rewriterule 以将 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]
【问题讨论】:
-
在您的示例 URL 中,您使用了
t123456,但您稍后使用连字符引用它,即。t-123456? -
对不起,我弄错了,旧的 URL 就像没有连字符的 t123456,新的 URL 像 viewtopic.php?t=123456 一样。
标签: apache .htaccess mod-rewrite url-rewriting