Ce que j'essaie d'accomplir est:
1. A person, with IP 192.168.1.5 loads my webserver (192.168.1.2) and reaches htdocs/
2. Another person, with ip 192.168.1.6 does the same request, and reaches htdocs/folder/
Si possible, j'aimerais que le port 80 soit utilisé uniquement.
J'utilise actuellement la configuration:
<LocationMatch "/">
Order deny,allow
Deny from all
Allow from ::1 127.0.0.0/8 localhost 192.168.1.5
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>
<VirtualHost 192.168.1.2:80>
ServerAdmin frederik@*.dk
DocumentRoot "/XAMPP/htdocs/"
ServerName 192.168.1.2
ErrorLog "logs/lan-error.log"
CustomLog "logs/lan-access.log" combined
</VirtualHost>
J'aimerais permettre à tous les autres de voir le dossier. Et puis, en fonction de l’IP du client, définissez un autre DocumentRoot.
Je ne pense pas que vous puissiez le faire de la manière que vous envisagez (avec DocumentRoot
conditionnel _). Cependant, vous pouvez obtenir le même résultat avec Apache Rewrites en ajoutant les éléments suivants à votre déclaration VirutalHost
ou dans le fichier .htaccess
situé dans la racine de votre document:
RewriteEngine On
RewriteCond %{REMOTE_Host} !^192\.168\.1\.5
RewriteCond %{REQUEST_URI} !^/blog/?
RewriteCond %{REQUEST_URI} /(.*)$
RewriteRule (.*) /blog [R=301,L]
Essentiellement, si l'adresse IP de l'utilisateur n'est pas votre adresse IP et que celui-ci ne demande rien dans le dossier /blog
, il sera redirigé vers le dossier /blog
. S'il s'agit de votre adresse IP ou s'ils demandent quelque chose dans le dossier /blog
, aucune redirection n'aura lieu.