Apache: DocumentRoot basato su Client-IP

Non so se questo potrebbe essere ansible anche in apache, ho fatto una gran quantità di ricerche prima di venire qui. ma:

Ho un VirtualHost in esecuzione a **: 80 *, ServerName a somedomain.tld. Quello che voglio realizzare è se il client 10.2.1.4 accede a somedomain.tld, al client verrà inviato il contenuto da DocumentRoot / var / www / pages-1 /. Quindi se 10.3.0. * Accede allo stesso somedomain.tld, il client riceverà contenuti da DocumentRoot / var / www / pages-2 /. C'è un modo per raggiungere questo attualmente?

  • autorizzazioni di file corrette per l'utente di trac e git per accedere al repos del server gitolite
  • La properties; dei dati www rende l'installazione di WordPress più memory
  • Cambiare l'impostazione predefinita dall'indirizzo da Postfix da dati www a qualcos'altro
  • Attiva l'accesso senza "www." Su Ubuntu
  • Disabilita l'elenco delle directory con 404 invece di 403
  • proxy: il corpo di richiesta di passaggio non è riuscito
  • Come compilare la versione 5.2.13 di PHP con il supporto di zip su CentOS?
  • Aggiorna CentOS 4.4 a 4.8
  • Qual è il numero massimo di virtualhost che Apache può gestire?
  • Conflitto tra SNI e domini forniti da HTTP
  • Imposta Alias ​​Apache per specifiche ServerAlias
  • Posso fare un semplice calcolo all'interno di un RewriteRule?
  • 2 Solutions collect form web for “Apache: DocumentRoot basato su Client-IP”

    Puoi farlo con un RewriteRule preceduto da una RewriteCond che controlla il remote_addr (ricorda di utilizzare% per il vars, non $:

    <VirtualHost *:80> Servername somedomain.tld RewriteEngine On RewriteCond %{REMOTE_ADDR} 10.2.1.4 RewriteRule ^(.*)$ /var/www/pages-1/$1 RewriteCond %{REMOTE_ADDR} 10.3.0. RewriteRule ^(.*)$ /var/www/pages-2/$1 </VirtualHost> 

    Non sarà ansible modificare la radice del documento, ma è ansible riscrivere l'URL in base al client IP, qualcosa di simile a … (non testato) …

     RewriteCond %{REMOTE_HOST} ^10\.3\.0\. RewriteRule ^/(.*) /pages-2/$1 [P,L] RewriteCond %{REMOTE_HOST} ^10\.2\.1\.4$ RewriteRule ^/(.*) /pages-1/$1 [P,L] 

    Anche se potrebbe essere più semplice utilizzare un programma di riscrittura esterno se il numero di indirizzi IP è molto grande.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.