<Directory /> AllowOverride none Require all denied </Directory>- Mais autoriser les accès aux dossiers des sites locaux, donc avoir, pour le dossier correspondant à DocumentRoot :
# onlineoffline tag - don't remove Require all granted </Directory>Nota : Ceci correspond au passage Online par le menu Wampmanager. (Il faut auparavant valider Item menu En Ligne/Hors Ligne des Paramètres Wamp)
<VirtualHost *:80> ServerName localhost DocumentRoot j:/wamp/www <Directory "j:wamp/www/"> Options Indexes Includes FollowSymLinks MultiViews AllowOverride All Require local </Directory> </VirtualHost> <VirtualHost *:80> ServerName phottello VirtualDocumentRoot g:/www/phottello <Directory "g:/www/phottello/"> Options Indexes Includes FollowSymLinks MultiViews AllowOverride all Require all granted </Directory> </VirtualHost> <VirtualHost *:80> ServerName photos DocumentRoot j:/wamp/www/photos <Directory "j:/wamp/www/photos/"> Options Indexes Includes FollowSymLinks MultiViews AllowOverride all Require all granted </Directory> </VirtualHost>Les deux sites locaux phottello et photos sont exactement les mêmes, mais dans deux dossiers différents :
127.0.0.1 localhost 127.0.0.1 phottello 127.0.0.1 photos ::1 localhost ::1 phottello ::1 photos
192.168.0.15 - - [05/Jan/2016:15:31:00 +0100] "GET /photos/ HTTP/1.1" 200 3479alors que le ServerName phottello est non trouvé avec erreur 404 :
192.168.0.15 - - [05/Jan/2016:15:31:55 +0100] "GET /phottello/ HTTP/1.1" 404 296
C:\Windows\System32>nslookup photos Serveur : UnKnown Address: 192.168.0.1 Nom : photos. C:\Windows\System32>nslookup phottello Serveur : UnKnown Address: 192.168.0.1 *** UnKnown ne parvient pas à trouver phottello : Non-existent domain
# onlineoffline tag - don't remove <RequireAny> Require local Require ip 192.168.0 </RequireAny> </Directory>Ainsi que dans les VirtualHost
<VirtualHost *:80> ServerName localhost DocumentRoot j:/wamp/www <Directory "j:wamp/www/"> Options Indexes Includes FollowSymLinks MultiViews AllowOverride All Require local </Directory> </VirtualHost> <VirtualHost *:80> ServerName phottello VirtualDocumentRoot g:/www/phottello <Directory "g:/www/phottello/"> Options Indexes Includes FollowSymLinks MultiViews AllowOverride all <RequireAny> Require local Require ip 192.168.0 </RequireAny> </Directory> </VirtualHost> <VirtualHost *:80> ServerName photos DocumentRoot j:/wamp/www/photos <Directory "j:/wamp/www/photos/"> Options Indexes Includes FollowSymLinks MultiViews AllowOverride all <RequireAny> Require local Require ip 192.168.0 </RequireAny> </Directory> </VirtualHost>Là, les accès depuis l'extérieur (Internet) ne sont plus possible, on obtient l'erreur :
[Tue Jan 05 16:13:19] [client 80.12.42.115:52331] AH01630: client denied by server configuration: J:/wamp/www/photos/et erreur 403 not found :
80.12.42.115 - - [05/Jan/2016:16:13:19 +0100] "GET /photos/ HTTP/1.1" 403 306
mklink /D j:\wamp\www\photos g:\www\phottelloAvec le résultat :
C:\Windows\System32>mklink /D j:\wamp\www\photos g:\www\phottello Lien symbolique créé pour j:\wamp\www\photos <<===>> g:\www\phottello C:\Windows\System32>
Et bien,non.Citation
otomatic
- (http://192.168.0.10/photos/) et j'ai bien accès au site local (ÇA MARCHE !)
- (http://192.168.0.10/phottello/) et... erreur Not Found. The requested URL /phottello/ was not found on this server. (ÇA MARCHE PAS!)
Et pourtant, les deux sites locaux sont bien déclarés de la même manière !
DocumentRoot j:/wamp/www/photoset dans le second (phottelo), tu as mis :
VirtualDocumentRoot g:/www/phottelloSi tu mets documentsRoot dans les deux cas, cela fonctionnera !
<VirtualHost *:80>Ce n'est pas une erreur en soi mais si tu connais l'adresse local, autant la mettre.
[Tue Oct 03 14:05:59.839828 2017] [authz_core:error] [pid 9988:tid 1200] [client 192.168.0.123:56182] AH01630: client denied by server configuration: D:/wamp64/www/monsiteRemarque: pid, tid et port client variables selon les essais.
<VirtualHost 127.0.0.101:80> ServerName monsite ServerAlias monsite #optionnel DocumentRoot "d:/wamp64/www/monsite" <Directory "d:/wamp64/www/monsite/"> Options +Indexes +Includes +FollowSymLinks +MultiViews AllowOverride None <RequireAny> Require local # mon poste Require ip 192.168.0 # mon réseau local </RequireAny> </Directory> </VirtualHost>
;apacheUseOtherPort = "off" ; d'origine, à passer à "on" pour l'accès distant apacheUseOtherPort = "on" ;
<VirtualHost *:80> ServerName localhost DocumentRoot C:/wamp64/www <Directory "C:/wamp64/www/"> Options Indexes FollowSymLinks MultiViews AllowOverride All Require all granted </Directory> </VirtualHost>>
# Virtual Hosts # <VirtualHost *:80> ServerName localhost DocumentRoot d:/wamp64/www <Directory "d:/wamp64/www/"> Options +Indexes +Includes +FollowSymLinks +MultiViews AllowOverride All <RequireAny> Require local Require ip 192.168.0 </RequireAny> </Directory> </VirtualHost> # <VirtualHost 127.0.0.101:80> ServerName monsite ServerAlias monsite DocumentRoot "d:/wamp64/www/monsite" <Directory "d:/wamp64/www/monsite/"> Options +Indexes +Includes +FollowSymLinks +MultiViews AllowOverride None <RequireAny> Require local Require ip 192.168.0 </RequireAny> </Directory> </VirtualHost>
// Loading Wampserver configuration $wampConf = @parse_ini_file($configurationFile);Donc, la valeur de apacheUseOtherPort se retrouve dans l'index de tableau :
$wampConf['apacheUseOtherPort']Cet index est utilisé uniquement dans les scripts : refresh.php et switchWampPort.php
$ApaTestPortUsed = ($wampConf['apacheUseOtherPort'] == 'on' ? '' : ';');Cette variable $ApaTestPortUsed est uniquement utilisée dans le fichier wampmanager.tpl pour commenter ou décommenter des instructions :
${ApaTestPortUsed}Type: separator; Caption: "${w_portUsed}${c_UsedPort}" ${ApaTestPortUsed}Type: item; Caption: "${w_testPort80}"; Action: run; FileName: "${c_phpExe}"; Parameters: "testPort.php 80 ${c_apacheService}";WorkingDir: "$c_installDir/scripts"; Flags: waituntilterminated; Glyph: 24 ${ApaTestPortUsed}Type: item; Caption: "${w_AlternatePort}"; Action: multi; Actions: UseAlternatePort; Glyph: 24 ${ApaTestPortUsed}Type: item; Caption: "${w_testPortUsed}${c_UsedPort}"; Action: run; FileName: "${c_phpExe}"; Parameters: "testPort.php ${c_UsedPort} ${c_apacheService}";WorkingDir: "$c_installDir/scripts"; Flags: waituntilterminated; Glyph: 24 ${ApaTestPortUsed}Type: item; Caption: "${w_testPortUsed}${c_UsedPort}"; Action: run; FileName: "${c_phpExe}"; Parameters: "testPort.php ${c_UsedPort} ${c_apacheService}";WorkingDir: "$c_installDir/scripts"; Flags: waituntilterminated; Glyph: 24Et c'est tout.
apacheUseOtherPort = "off"étant aussi bien modifié, en plus de `apachePortUsed`, par l'action :
127.0.0.101 monsite ::1 monsiteet l'IPv6 ::1, au lieu de ::101 ou autre, semble poser problème dans l'accès en local, par http: //monsite