2012-01-07 3 views
4

htaccessファイル全体に変数を格納して取得する方法はありますか?すべての検索では、RegExを使用して変数をmod_rewriteで作成してクエリ文字列に適用する方法を示しています。これは私がやろうとしていることではありません。私はマルチアプリケーションプロジェクト用のバージョン管理システムを実装しています。 applicationsフォルダ内の複数のアプリケーションとのような各applicationフォルダ内の複数のバージョンがありますproduct/applications/application/version:現在のプロジェクトのバージョンは、のようなフォルダ構造に格納されているv1.0v1.1v2.0、私がしようとしています物事のなど.htaccessファイルの変数

ワン達成するために、バージョン管理のために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] 
+0

?リクエストの一部ですか? –

+0

いいえ、私はhtaccessファイル自体の中に定義したいので、最後に40個のアプリケーションがある場合、htaccessファイルの先頭でバージョン番号を数回更新するだけです。 –

答えて

7

mod_rewriteのフラグ。あなたのルールの最上部に、追加します。

RewriteRule .* - [E=VERSION:v1.0] 

か、あなたのバージョンを使用したい時はいつでもあなたが望むバージョンは、その後、これを行うものは何でも:$ apiVersionから来たん

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] 
+0

まだ試していないが、これはまさに私が欲しいものだと思われる。ありがとう –