On Mon, May 2, 2022 at 8:24 AM Ivan Ionut <ivan.io...@tehnopol-gl.ro> wrote:
>
> I'm trying to set a virtual host on apache2 with this configuration.
>
> <VirtualHost *:80>
>   ServerName mysite.com
>   ServerAlias www.mysite.com
>
>   <If "-R '192.168.1.0/24'">
>     Define directory_path /srv/http/mysite
>   </If>
>   <Else>
>     Define directory_path /srv/http/under_construction
>   </Else>
>
> DocumentRoot ${directory_path}
>
> <Directory ${directory_path}>
> Require all granted
> </Directory>
> </VirtualHost>
>
> The problem is that the If directive does not match when I access it from 
> that lan.

Possibly something like this could work:

Define directory_path_mysite "/srv/http/mysite"
Define directory_path_under_construction "/srv/http/under_construction"
<VirtualHost *:80>
  <If "-R '192.168.1.0/24'">
    DocumentRoot "${directory_path_mysite}"
  <Else>
    DocumentRoot "$(directory_path_under_construction}"
  </If>
  <Directory "${directory_path_mysite}">
    Require all granted
  </Directory>
  <Directory "${directory_path_under_construction}">
    Require all granted
  </Directory>
</VirtualHost>

Both DocumentRoots would be initialized at startup (when Defines are
evaluated, the <Directory paths must be known then), while the
DocumentRoot used at runtime will be determined based on the <If
still.


Regards;
Yann.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org
For additional commands, e-mail: users-h...@httpd.apache.org

Reply via email to