解码htaccess url重写值的问题

时间:2010-07-02 14:03:07

标签: php

我在.htaccess中编写了一段代码

RewriteEngine on
RewriteRule ^category-search/(.*)$ category-search.php?cat_id=$1

我当前的网址是

www.mydomain.com/category-search/=NA ==

最后一个值(= NA ==)在base64_encode中编码。 但是,当我试图在PHP中获取此值时...

$val=mysql_real_escape_string(base64_decode($_REQUEST['cat_id']));

我的$ val等于零。这背后的错误是什么?

当我没有在htaccess中重写时,这工作得很好。

2 个答案:

答案 0 :(得分:1)

=NA==不是有效的base64编码字符串(错误的长度和开头的无效字符)。你是说NA64==吗?该解码为4

如果是=NA==,则base64_decode()将返回false,其输出为空字符串。

答案 1 :(得分:0)

你不应该看$ _REQUEST ['cat_id']而不是$ _REQUEST ['sub_cat_id'],因为这就是你在.htaccess文件中调用的请求参数......