【问题标题】:htaccess 301 redirect after changing file name更改文件名后htaccess 301重定向
【发布时间】:2012-07-11 04:19:04
【问题描述】:

我使用这个重写:

RewriteRule post-(.*)\.html$ post.php?id=$1

但后来将文件名 post.php 更改为 photo.php 所以我将其更改为

RewriteRule photo-(.*)\.html$ photo.php?id=$1

这很好,但是当访问者来自搜索引擎并被定向到原始文件名 post.php?id=?所以需要添加(我认为)301重定向,我试过了:

RewriteRule photo-(.*)\.html$ post.php?id=$1

和:

RewriteRule photo-(.*)\.html$ post-(.*)\.html$[L,R=301]

但两者都不起作用,老实说还没有真正的线索,请帮忙。

【问题讨论】:

    标签: .htaccess mod-rewrite http-status-code-301


    【解决方案1】:

    我认为你希望它是相反的方式。当人们访问您的 URL (post.php?id=) 时,重定向到 URL。您要么想要以下之一:

    RewriteRule post-(.*)\.html$ photo-$1.html [R=301]
    
    RewriteRule post\.php$ photo.php [R=301]
    

    第一个采用http://hostname.com/post-1234.html 之类的 URL 并将浏览器重定向到 http://hostname.com/photo-1234.html,因此您的规则可以将其重写为 photo.php,第二个执行相同的操作,除了 http://hostname.com/post.php?id=1234http://hostname.com/photo.php?id=1234(请注意,查询字符串自动附加到第二条规则的末尾)。

    【讨论】:

    • 谢谢你标记为答案 - “投票需要 15 声望”所以现在不能投票抱歉。
    猜你喜欢
    • 2019-04-29
    • 2013-06-29
    • 2015-04-26
    • 2014-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多