更改文件名后htaccess 301重定向

时间:2012-07-10 19:40:59

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

我使用这个重写:

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]

但无论是工作还是诚实都没有真正的线索,请帮助。

1 个答案:

答案 0 :(得分:1)

我认为你想让它成为另一种方式。当用户转到您的网址(post.php?id=)时,会重定向到。你要么想要其中一个:

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

RewriteRule post\.php$ photo.php [R=301]

首先使用http://hostname.com/post-1234.html这样的网址,然后将浏览器重定向到http://hostname.com/photo-1234.html,这样您的规则就可以将其重写为photo.php,第二个除了http://hostname.com/post.php?id=1234到{{3 (请注意,查询字符串会自动附加到第二个规则的末尾)。