php – 如何在.htaccess文件中定义变量并使用它?
我已经为我的网站定义了一个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,L] RewriteCond $1 !^(index.php|images|robots.txt|assets|themes|includes) RewriteRule ^(.*)$%{ENV:BASE_PATH}/index.php/$1 [L] 因为我可能需要稍后在更多的代码中使用BASE_PATH值,也可能会更改,我不想在htaccess文件中每次都进行搜索和替换. <?php $specialPath = getenv('BASE_PATH'); var_dump($specialPath)?> 它正在显示/ cig / base3的正确值. 我的代码有什么问题,我该如何解决?
您不能使用SetEnv,因为它尚未处理.
你要找的是setenvif而不是SetEnv 所以你应该可以做一些类似的事情 SetEnvIf Request_URI "^.*" base_path=/cig/base3 http://httpd.apache.org/docs/2.2/mod/mod_setenvif.html#setenvif (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |