如何在URL中隐藏参数(query_string),但将它们发送到页面隐藏,在地址栏中不可见 例如:
我有这个:
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]重定向(不改变地址本身)
我尝试在.htaccess中使用RewriteRule,使用不同的标志和不同的方式,但没有任何工作
请建议。
答案 0 :(得分:0)
据我所知,您只能使用RewriteEngine隐藏参数键(在本例中为' category_id'):
RewriteEngine On
然后使用像这样的RewriteRule
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领男女皆宜的衬衫"你可以使用像
这样的网址http://localhost/project/company/redeem/category/Shirts/V-Uni
并告诉您的脚本使用类别" V-Uni"而不是" 18"。
htaccess的:
RewriteRule ^project/company/redeem/category/Shirts/([a-zA-Z-]*)$ project/company/redeem/category/Shirts.php?category=$1