Htaccess 301重定向htaccess或php

时间:2015-01-22 04:40:26

标签: .htaccess mod-rewrite redirect

我在Htaccess中有一个重写规则,如下所示,是动态网址

RewriteRule ^cartoon-([^-]*)-([^-]*)\.html$ /fm
/cart_new?r_id=$1&location=$2 [L]

此规则会将结果导入为http://localhost/fm/cartoon-34-singapore.html

现在我的客户想要将此网址更改为http://localhost/fm/singapore/34/goofie,并将.htaccess写为

RewriteRule ^([^/.]+)/([^/.]+)/([^/.]+)/?$ /fm
/cart_new?location=$1&r_id=$2&cartooname=$3 [L]

上述重写工作正常,但客户希望所有OLD网址如ie。http://localhost/fm/cartoon-34-singapore.html将301重定向到http://localhost/fm/singapore/34/goofie

这让我发疯了。我尝试过各种各样的东西,但似乎都没有。

1 个答案:

答案 0 :(得分:1)

在您的PHP代码中,您可以执行以下操作以进行重定向:

header ('HTTP/1.1 301 Moved Permanently');
header("Location: {$rebuilt_url}");

此处$rebuilt_ur将通过查询您的数据库设置为http://localhost/fm/singapore/34/goofie