我使用这个重写:
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]
但无论是工作还是诚实都没有真正的线索,请帮助。
答案 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 (请注意,查询字符串会自动附加到第二个规则的末尾)。