我对 .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]