Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用htaccess隐藏传入查询字符串_Php_Regex_Apache_.htaccess_Mod Rewrite - Fatal编程技术网

Php 使用htaccess隐藏传入查询字符串

Php 使用htaccess隐藏传入查询字符串,php,regex,apache,.htaccess,mod-rewrite,Php,Regex,Apache,.htaccess,Mod Rewrite,我希望任何人谁来我的网站 site.com?affiliate=a12b345c67 完全隐藏附属查询字符串 我肯定是这样的,但什么也没发生 RewriteRule ^/?affiliate= / [L,R=301] 首先,你需要对用户访问你网站的URL收费。将其更改为: site.com?/a12b345c67/ .htaccess无法动态更改您的URL结构 如果可以,请告诉我 注意。您可以将传入的$\u GET参数(如果存在)保存到会话(或cookie,或任何持久存储)并重新加载页面

我希望任何人谁来我的网站

site.com?affiliate=a12b345c67
完全隐藏附属查询字符串

我肯定是这样的,但什么也没发生

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

首先,你需要对用户访问你网站的URL收费。将其更改为:

site.com?/a12b345c67/
.htaccess无法动态更改您的URL结构

如果可以,请告诉我


注意。

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

   session_start();
   if(isset($_GET['affiliate']){
       $_SESSION['affiliate'] = $_GET['affiliate'];
       header('location: site.com');
   }

然后,您可以使用会话、cookie或任何持久性存储中的附属令牌来从URL中删除
附属=
查询字符串,将此规则放置在
文档的根目录中。htaccess
文件:

RewriteEngine On

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

我很确定你不能隐瞒这件事。。至少,如果你把它隐藏起来,它将不再工作。好吧,那么这是一个php重定向,谢谢