我为我的网站定义了一个.htaccess文件,其中包含以下代码:
RewriteEngine on
RewriteBase /
RewriteRule ^bit_auth\/?(.*)$ /cig/base3/auth/$1 [R=301,NC,L]
RewriteCond $1 !^(index\.php|images|robots\.txt|assets|themes|includes)
RewriteRule ^(.*)$ /cig/base3/index.php/$1 [L]
我希望像这样将我的网站根路径保存在一个变量中:
RewriteEngine on
RewriteBase /
SetEnv BASE_PATH "/cig/base3"
RewriteRule ^bit_auth\/?(.*)$ %{ENV:BASE_PATH}/auth/$1 [R=301,NC,L]
RewriteCond $1 !^(index\.php|images|robots\.txt|assets|themes|includes)
RewriteRule ^(.*)$ %{ENV:BASE_PATH}/index.php/$1 [L]
因为我可能需要在以后的更多代码中使用BASE_PATH
值,而且它可能会改变,我不想每次都在我的htaccess文件中搜索和替换。
但是当我使用上面的代码时,在htaccess文件中%{ENV:BASE_PATH}
返回了一个空值,而不是期望的/cig/base3
,但是在PHP中,当我使用以下代码调用它时:<?php $specialPath = getenv('BASE_PATH'); var_dump($specialPath)?>
它显示了/cig/base3
的正确值。
我的代码有什么问题,我该如何解决?
RewriteRule .* - [E=BASE_PATH:/cig/base3]
。 - CD001