.htaccess文件中的变量

Mik*_* L. 4 .htaccess

有没有办法在整个htaccess文件中存储和检索变量.我所做的所有搜索都展示了如何通过mod_rewrite使用RegEx创建变量以将其应用于查询字符串.这不是我想要做的.我正在为多应用程序项目实现版本控制系统.目前的项目版本被保存在一个文件夹结构,如:product/applications/application/version届时将有多个应用程序applications文件夹,每个内的多个版本的application文件夹,如:v1.0,v1.1,v2.0等.

我试图完成的一件事是使用htaccess进行版本控制(我已经用它来重写应用程序的url,我只想在下面的例子中的版本号0.1是一个在我的htaccess顶部定义的变量这可能吗?

RewriteEngine On
Options +FollowSymlinks
# version here is 0.1 and I would want it 
# defined as $apiVersion if possible
# it is the same for both of these rewrites.
RewriteRule ^api/json$ /malvern/api/api/v0.1/public/api.php?format=json [NC,L]
RewriteRule ^api/xml$ /malvern/api/api/v0.1/public/api.php?format=xml [NC,L]

# version here is also 0.1 but would be
# a differnt variable than the first
RewriteRule ^srsmith/rate$ /malvern/webship/webship/v0.1/apps/ratepackage/public/index.php [NC,QSA,L]
Run Code Online (Sandbox Code Playgroud)

Jon*_*Lin 8

尝试使用Emod_rewrite中的标志.在规则的最顶层,添加:

RewriteRule .* - [E=VERSION:v1.0]
Run Code Online (Sandbox Code Playgroud)

或者您想要的任何版本,然后每当您想要使用您的版本时,请执行以下操作:

RewriteRule ^api/json$ /malvern/api/api/%{ENV:VERSION}/public/api.php?format=json [NC,L]
RewriteRule ^api/xml$ /malvern/api/api/%{ENV:VERSION}/public/api.php?format=xml [NC,L]
Run Code Online (Sandbox Code Playgroud)