2014-07-09 91 views
3

目前,我有.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结合使用。我卡住了。


UPDATE

NM ......我认为这个问题是在我的PHP,而不是在你的重写目标访问的查询字符串的.htaccess

+0

'QSA'国旗应该有工作。 –

+0

是的,QSA看起来像我需要的东西,但我似乎无法让它工作。我想知道服务器上是否有一些设置可以阻止它。 – santa

+0

向我们展示您尝试使用'QSA'标志的尝试。 –

回答

1

你在说什么QSA flag

RewriteRule ^job(.*)$ /include/myfile.incl.php?proj=$1 [QSA,NC,L] 

QSA标志应该工作。我现在用了5年。

+0

是的,我试过了,但我在想我可能会试图以某种错误的方式访问“可选”变量。它不会是:$ _GET ['token']? – santa

+0

是的,就是这样。添加令牌时是否打印内容“myfile.incl.php”? – machineaddict

0

用途%{QUERY_STRING}。例如:

RewriteRule ^job(.*)$ /include/myfile.incl.php?proj=$1&%{QUERY_STRING} [NC,L] 
+0

嗯,我试过了。什么都没有坏,但我如何访问可选变量? – santa

相关问题