【问题标题】:301 htaccess redirects with numbers in URL301 htaccess 在 URL 中使用数字重定向
【发布时间】:2013-07-29 20:32:04
【问题描述】:

我正在尝试使用 301 htaccess 重定向以下 URL 重定向

http://domain.com/vb/thread1023.html

http://domain.com/forum/threads/1023/

1023 只是一个变量,代码必须适用于任何数字

具体来说,我正在将网站从一种软件转换为另一种软件,并且 URL 结构不同。

有什么想法吗?

【问题讨论】:

    标签: .htaccess redirect


    【解决方案1】:

    鉴于 mod_rewrite 已启用且正常工作,这应该可以正常工作:

    RewriteRule ^vb/thread(\d+)\.html$ /forum/threads/$1/ [R=301,L]
    

    规则^vb/thread(\d+)\.html$ 的左手捕获thread 之后和.html 之前的数字。

    规则的左侧/forum/threads/$1/ 重定向在末尾添加的URL,以代替捕获的号码$1

    对于你在评论http://www.domain.com/vb/showthread.php?t=1023中提到的网址

    你可以使用:

    RewriteCond %{QUERY_STRING} ^t=(\d+)$
    RewriteRule ^vb/showthread\.php$ /forum/threads/%1/? [R=301,L]
    

    【讨论】:

    • 它不工作。我需要代码来强制将访问者重定向到新的 URL,而不是为相同的内容创建另一个 URL。我正在使用 cPanel 并且启用了 mod_rewrite。
    • @Khaleal 这不会创建一个新的 URL,它会像您提到的那样重定向用户。如果您的 htaccess 文件有更多规则,可能会导致此规则不起作用,因此请发布您的 htaccess。
    • 它正在工作。我不得不删除用于将旧软件的 php 文件重写为 .html 的原始 .htaccess 文件。谢谢你:)
    • 顺便说一句,如果旧 URL 是 domain.com/vb/showthread.php?t=1023 怎么办?提前致谢。
    猜你喜欢
    • 1970-01-01
    • 2021-04-01
    • 1970-01-01
    • 2014-09-03
    • 2013-08-29
    • 2013-12-21
    • 2015-03-04
    • 2015-04-27
    • 1970-01-01
    相关资源
    最近更新 更多