0

それはまったく可能ですか?私の使用例は、ワイルドカード ドメインの docroot を設定することです。私は変数を持っています

$docroot = "/var/www"

そして、内部apache::vhost {}で設定しようとしています

virtual_docroot' => "{$docroot}/%-2+",

ただし、次のようなエラーがスローされます。

Error: Could not parse for environment production: Syntax error at ' => "$docroot/%-2+",
    docroot          => $docroot,
    serveraliases    => ['; expected '}' at /tmp/vagrant-puppet-1/manifests/init.pp:22 on node localhost

私の推測では、式全体が正規表現として$扱われ、式全体の一部として扱われます。したがって、それがまったく可能かどうかは疑問です。

4

1 に答える 1

0

答えは孤立したアポストロフィであり、 の後に間違って配置され、 puppetlabs-apache documentationvirtual_docrootからコピーされたものであることが判明しました。ここで、問題のあるコードは次のとおりです。

apache::vhost { 'subdomain.loc':
  vhost_name => '*',
  port       => '80',
  virtual_docroot' => '/var/www/%-2+',
  docroot          => '/var/www',
  serveraliases    => ['*.loc',],
}

アポストロフィを削除すると、問題が解決しました。私の質問への答えは、その特定の構成行を次のように設定することです。

virtual_docroot => "$docroot/%-2+",

省略された{}文字に注意してください。

于 2014-01-24T09:40:44.590 に答える