带有R,L,E标志的htaccess RewriteRule重定向(环境变量)

时间:2012-10-04 20:12:37

标签: apache .htaccess mod-rewrite redirect environment-variables

我想在从htaccess

重定向后设置一个apache env变量

RewriteRule ^somelink/$ /somelink.php [L,R,E=HOWTO:ok]

[L,R]标志,因为我想更改浏览器地址栏中的地址
[E]标志,因为我想设置变量

[E=HOWTO:ok]应设置变量但不会发生任何事情

我在重定向后在somelink.php上尝试了var_dump($ _ SERVER),但是任何HOWTO都出现了 但如果我使用SetEnv HOWTO ok一切正常

如何使用[R,L]重定向设置apache环境变量并在php文件中获取它?

1 个答案:

答案 0 :(得分:1)

  

如何使用[R,L]重定向设置apache环境变量并在php文件中获取它?

您无法设置环境变量,重定向请求并在第二次请求时仍然存在。当您使用R时,它会重定向浏览器,这意味着为新位置提出了一个全新且独立的请求,在这种情况下为/somelink.php

您需要以不同的方式处理此问题,可能需要使用GET参数吗?

RewriteRule ^somelink/$ /somelink.php?HOWTO [L,R,QSA]