我有这个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代码吗?
由于
答案 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]