不知何故php urldecode无效 - 因此寻找通过htaccess进行重定向的替代方法 这是重定向的最佳方式
错误的网址
http://www.example.com/index.php%3Foption%3Dcom_toys%26view%3Dproduct%26Itemid%3D2%26id%3D8%26vid%3D175
Htaccess Code - 它以某种方式重定向到404页面
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]+/)*index\.php\%3[fF]option\%3[dD]([^\ ]+)\ HTTP/
RewriteRule ^index\.php http://www.example.com/index.php?option=%2 [R=301,L]
将最终输出网址设为
http://www.example.com/index.php?option=com_toys%2526view%253Dproduct%2526Itemid%253D2%2526id%253D8%2526vid%253D175
所需的网址是
http://www.example.com/index.php?option=com_toys&view=product&Itemid=2&id=8&vid=175
答案 0 :(得分:0)
使用此功能解码您的网址:
<?php
function utf8_urldecode($str) {
$str = preg_replace("/%u([0-9a-f]{3,4})/i","&#x\\1;",urldecode($str));
return html_entity_decode($str,null,'UTF-8');;
}
$current_url = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$decode = utf8_urldecode($real_url);
echo $decode;
?>
然后你应该没有任何问题。