- 締切済み
httpd.confで変数を利用したい
今VirtualHostを切っているApache内の設定で、 ガラケから来た場合に限り、DocumentRootの位置を変えたいと思います。 BrowserMatchNoCaseを使って変数に値を代入して DocumentRootの位置を動的に変えようかと思ったのですが上手くいきませんでした。 この方式はそもそも可能かどうか、教えていただきたいのです。 以下、今のところ詰まっている状態の設定です。 <VirtualHost _default_:80> ServerName hogehoge.jp ServerAdmin webmaster@localhost BrowserMatchNoCase "DoCoMo|KDDI|UP\.Browser|Vodafone|J\-PHONE|MOT\-|SoftBank|WILLCOM|DDIPOCKET" browser=mobile SetEnvIf browser ^$ browser=front DocumentRoot /home/hogehoge/$browser/html CookieTracking on CookieName "Apache" CookieExpires "10 years" # CustomLog "| /usr/local/apache2/bin/rotatelogs /AccessLog/hogehoge/access_log 3600" combined env=!nolog CustomLog /AccessLog/hogehoge/access_log combined env=!nolog <Directory "/home/hogehoge/front/html"> Options FollowSymLinks Multiviews Includes AllowOverride All Order allow,deny Allow from all ExpiresActive On </Directory> <Directory "/home/hogehoge/mobile/html"> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all ExpiresActive On </Directory> </VirtualHost> これでconfigtestを行うと Warning: DocumentRoot [/home/hogehoge/$browser/html] does not exist が出ます。 他に試したこととしては、$browserを%browserに変えてみたり %{browser}もダメでした。。。 Apacheのバージョンは2.0です。 よろしくおねがいします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- notnot
- ベストアンサー率47% (4900/10359)
>この方式はそもそも可能かどうか、教えていただきたいのです。 無理です。 別の方法を考えましょう。mod_rewriteとか。