Конфигурация Apache - переписывает правило для всех виртуальных хостов

Вот более легкое для парсинга списка по сравнению с журналом изменений: http://projects.puppetlabs.com/projects/puppet/wiki/Release_Notes

4
задан 19 August 2013 в 12:34
2 ответа

Понял!

RewriteBase отсутствовала. Хотя это не обязательно в конфигурации первого домена, это обязательно во втором случае!

Мне также удается заставить его работать для любых виртуальных хостов, перемещающих конфигурацию каталога "api" на уровне сервера. Это дает:

# API Accessible from all domains
Alias /api /website/www/api
<Directory "/website/www/api">
   Options FollowSymLinks
   AllowOverride None
   Satisfy Any
   Allow from all

   RewriteEngine On
   RewriteBase /api/
   RewriteCond %{REQUEST_URI} !dispatch\.php$
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteRule ^.*$ dispatch.php [L,QSA]
</Directory>

# Virtual hosts
<VirtualHost *:80>
   ServerName www.domain.com
   DocumentRoot /website/www
   <Directory "/website/www">
      Options FollowSymLinks
      AllowOverride All
      Order allow,deny
      Allow from all 
   </Directory>
</VirtualHost>

<VirtualHost *:80>
   ServerName res.domain.com
   DocumentRoot /website/res
   <Directory "/website/res">
      Options FollowSymLinks
      AllowOverride All
      AuthType        Basic
      AuthUserFile    /website/res/users.sec
      <Limit GET POST>
         Require         valid-user
      </Limit>
   </Directory>
</VirtualHost>

Спасибо @mindthemonkey за триггер;)

1
ответ дан 3 December 2019 в 03:44

Удовлетворительно . Ваша конкретная потребность подробно описана в Требовать документации .

   <Directory "/website/res/api">
      Satisfy Any
      Allow from all
   </Directory>

Затем вам нужно будет продублировать любое из правил перезаписи на vhost res.domain.com. Если вы хотите, чтобы тот же контент доставлялся с res.domain.com , вам может потребоваться псевдоним путь res.domain.com/api к вашему / website / www / api .

2
ответ дан 3 December 2019 в 03:44

Теги

Похожие вопросы