0

我对 .htaccess 有一点问题:使用这段代码,

SetEnvIfNoCase Request_URI ^(.*)$ TEST=$1

/index.php即使我的 URL(被重写)是别的东西,TEST 也会给我。

例如:

// URL: http://www.example.com/us_en/module/controller/
echo $_SERVER['TEST']; // returns /index.php
echo $_SERVER["REQUEST_URI"]; // returns /us_en/module/controller/

我希望 TEST 在 REQUEST_URI 中拥有来自 .htaccess 而不仅仅是 .htaccess 的完整路径/index.php

我知道这可能是由重写条件中的某些原因引起的,所以我将向您展示我所拥有的:

Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteRule ^api/rest api.php?type=rest [QSA,L]
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_METHOD} ^TRAC[EK]
RewriteRule .* - [L,R=405]
RewriteCond %{REQUEST_URI} !^/(media|skin|js)/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* index.php [L]
4

1 回答 1

2

尝试其中之一:

SCRIPT_NAME=/sw/lib/w3s/tree/global/u/rse/.www/index.html
SCRIPT_FILENAME=/u/rse/.www/index.html
SCRIPT_URL=/u/rse/
SCRIPT_URI=http://en1.engelschall.com/u/rse/

这些是环境变量

它们也应该在 PHP 的$_SERVER超全局中可用。

于 2013-01-02T12:47:42.973 回答