htaccess 301重定向查询字符串

时间:2014-06-03 20:59:59

标签: .htaccess

我有这个htaccess代码,它将带有url参数的php文件重定向到html文件。

RewriteEngine on
RewriteCond %{QUERY_STRING} ^file=(.*)$
RewriteRule ^test/view\.php$ /test/%1.html? [R=301,L]

目前重定向sampledomain.com/test/view.php?file=1232&text=456

sampledomain.com/test/123&text=456.html

我需要重定向只保留第一个参数值为html文件名,如下所示 sampledomain.com/test/123.html

有人可以发布正确的htaccess代码吗?

由于

2 个答案:

答案 0 :(得分:0)

尝试:

RewriteEngine On
RewriteCond %{THE_REQUEST} \?file=([^&\ ]+)&text=([&\ ]+)
RewriteRule ^test/view\.php$ /test/%1/%2.html? [L,R=301]

答案 1 :(得分:0)

您只需要捕获第一个查询参数,而不是使用捕获所有内容的.*

RewriteEngine on

RewriteCond %{QUERY_STRING} (?:^|&)file=([^&]+)
RewriteRule ^test/view\.php$ /test/%1.html? [R=301,L]