2011-01-31 1 views
1

je l'hôte virtuel suivant sur mon serveur de développement:192.168.0.3 ne pouvez demander, mais tout le monde peut demander /public/file.html

<VirtualHost *:80> 
    ServerName example.com 
    DocumentRoot /srv/web/example.com/pub 
    <Directory /srv/web/example.com/pub> 
     Order Deny,Allow 
     Deny from all 
     Allow from 192.168.0.3 
    </Directory> 
</VirtualHost> 

La partie Allow from 192.168.0.3 est de permettre que les demandes de ma machine de poste de travail .

Je veux modifier cette option pour permettre à quiconque de demander une certaine URL:

http://example.com/public/file.html 

Comment puis-je changer cela pour permettre /public/file.html demandes de passer à travers de qui que ce soit?

Remarque: /public/file.html n'existe pas réellement en tant que fichier sur le serveur. Je redirige toutes les demandes entrantes à travers un seul fichier d'index en utilisant mod_rewrite.

+0

Appartient à http://webmasters.stackexchange.com/ –

+0

Chaque fois que je poste quelque chose à webmasters.stackexchange.com, il est migré vers une panne de serveur. [Incluant cette fois] (http://webmasters.stackexchange.com/questions/8500/only-192-168-0-3-can-request-but-anyone-can-request-public-file-html?noredirect= 1). – mattalxndr

Répondre

0

Ceci est seule façon que je trouve pour le fixer:

<VirtualHost *:80> 
    ServerName example.com 
    DocumentRoot /srv/web/example.com/pub 
    SetEnvIf Request_URI "/public/file.html" public 
    <Directory /srv/web/example.com/pub> 
     Order Deny,Allow 
     Deny from all 
     Allow from 192.168.0.3 
     Allow from env=public 
    </Directory> 
</VirtualHost> 
0

Pour appliquer les directives de configuration des chemins qui ne correspondent pas au système de fichiers, vous devez utiliser la directive enfermant Location:

<Location /public/file.html> 
    Order Deny,Allow 
    Allow From All 
</Location> 
Questions connexes