2014-09-03 216 views
0

如何隐藏在URL参数(QUERY_STRING),但将其发送到页面隐藏的,不可见的地址栏 例如:隐藏参数(查询字符串)的URL(htaccess的)

我有这样的:

http://localhost/project/company/redeem/category/Shirts/18?category_id=18 

我想:

http://localhost/project/company/redeem/category/Shirts.html 

但我想在PHP $_GET['sent']

以获取发送参数

我试着重定向到没有参数的页面(没有query_string)[R],然后给页面一些参数(静默)没有[R]重定向(不改变地址本身)

我试图在RewriteRule中使用。 htaccess与不同的标志和不同的方式,但没有任何工作

请建议。

+1

我建议使用POST你正在试图做 – 2014-09-03 10:32:18

+0

http://stackoverflow.com/questions/17086732/hide-get-parameter-from-url什么 – ALH 2014-09-03 10:49:54

回答

0

据我所知,你只能隐藏参数键(在这种情况下,“CATEGORY_ID”)使用RewriteEngine叙述:

RewriteEngine On 

然后用重写规则这样

RewriteRule ^project/company/redeem/category/Shirts/18/(regex of whatever you expect for your parameter)$ project/company/redeem/category/Shirts/18.php?category_id=$1 

不确定前18个是否重合或总是与category_id值相同。如果您也可以使用

RewriteRule ^project/company/redeem/category/Shirts/(regex of whatever you expect for your parameter)$ project/company/redeem/category/Shirts.php?category_id=$1 

如果您想使用$ _GET参数必须写入到url 某处。您只能尝试来隐藏它。

例如,如果你知道每个类别的名称,你可以把它们放入网址而不是数字。可以说CATEGORY_ID 18是“V领中性恤”,你可以使用URL像

http://localhost/project/company/redeem/category/Shirts/V-Uni 

,并告诉你的脚本中使用类“V-统一”,而不是“18”。
的.htaccess:

RewriteRule ^project/company/redeem/category/Shirts/([a-zA-Z-]*)$ project/company/redeem/category/Shirts.php?category=$1