用htaccess隐藏传入的查询字符串

时间:2014-09-23 09:45:31

标签: php regex apache .htaccess mod-rewrite

我希望任何访问我网站的人

site.com?affiliate=a12b345c67

完全隐藏联盟会员查询字符串

我确定它是这样的,但没有任何反应

RewriteRule ^/?affiliate= / [L,R=301]

3 个答案:

答案 0 :(得分:1)

要从您的网址中删除affiliate=个查询字符串,请将此规则放在DOCUMENT_ROOT/.htaccess文件中:

RewriteEngine On

RewriteCond %{QUERY_STRING} ^affiliate=[^&]+ [NC]
RewriteRule ^ %{REQUEST_URI}? [L,R=301,NE]

答案 1 :(得分:-2)

首先,您需要收取用户访问您网站的网址。将其更改为:

site.com?/a12b345c67/

.htaccess无法动态更改您的网址结构。

如果可以,请告诉我。

问候。

答案 2 :(得分:-2)

您可以将传入的$ _GET参数(如果存在)保存到会话(或cookie,或任何持久存储)并重新加载页面。

   session_start();
   if(isset($_GET['affiliate']){
       $_SESSION['affiliate'] = $_GET['affiliate'];
       header('location: site.com');
   }
然后,您可以使用会话,cookie或任何持久存储中的会员令牌