Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.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 重写规则中的条件二次查询_Php_.htaccess - Fatal编程技术网

Php 重写规则中的条件二次查询

Php 重写规则中的条件二次查询,php,.htaccess,Php,.htaccess,目前,我在.htaccess文件中有一条规则,该规则使URL变短: RewriteRule ^job(.*)$ /include/myfile.incl.php?proj=$1 [NC,L] 要使最终URL看起来像: mydomain.com/jobXXXXXX 如果用户这样更改我的URL,是否可以容纳第二个查询 mydomain.com/jobXXXXXX?token=123 我也需要能够获取该令牌值 也许有一种方法可以添加一个有条件的$2?我试过QSA标志,但它对我不起作用。也许我的A

目前,我在.htaccess文件中有一条规则,该规则使URL变短:

RewriteRule ^job(.*)$ /include/myfile.incl.php?proj=$1 [NC,L]
要使最终URL看起来像:

mydomain.com/jobXXXXXX
如果用户这样更改我的URL,是否可以容纳第二个查询

mydomain.com/jobXXXXXX?token=123
我也需要能够获取该令牌值

也许有一种方法可以添加一个有条件的$2?我试过QSA标志,但它对我不起作用。也许我的Apache版本太旧了。。。2.2.3(CentOS)

无论我使用哪种解决方案,都可以使用另一个重写规则,或者与PHP结合使用。我卡住了


更新


纳米。。。我认为问题出在我的PHP中,而不是.htaccess

在重写目标中使用%{QUERY\u STRING}来访问查询字符串。比如:

RewriteRule ^job(.*)$ /include/myfile.incl.php?proj=$1&%{QUERY_STRING} [NC,L]
你在说什么


QSA标志应该起作用。我现在已经用了5年了。

QSA
标志应该有用。是的,QSA看起来像我需要的,但我似乎无法让它工作。我想知道服务器上是否有某些设置阻止了它。向我们展示您尝试使用
QSA
标志的尝试。我认为问题不在我的.htaccess文件中,而是在PHP文件中……是的,我尝试了,但我想我可能试图以错误的方式访问“可选”变量。是不是:$_GET['token']?是的,就是这样。当你添加令牌时,它是否打印内容
myfile.incl.php
?嗯,我试过了。没有损坏,但如何访问可选变量?
RewriteRule ^job(.*)$ /include/myfile.incl.php?proj=$1 [QSA,NC,L]