la définition d'hôte virtuel suivante fonctionne pour une URL arbitraire commençant par "http://1.2.3.4:80/*"
<VirtualHost *:80>
ServerName www.domain.com
DocumentRoot /home/user/www/application/current/public
<Directory /home/user/www/application/current/public>
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Comment réécrire cette configuration afin qu'elle ne soit appliquée qu'aux URL commençant par "http://1.2.3.4:80/user/*"
J'ai essayé "ServerPath/user", mais ça ne marche pas ...
Des idées?
Malheureusement, ServerPath
est une directive héritée utilisée pour prendre en charge les clients HTTP/1.0 qui ne prennent pas en charge l'en-tête Host:
. Par conséquent, une alternative consiste à avoir le vhost principal affichez une page avec des liens utilisant des préfixes d'URL pouvant être utilisés par Apache pour le routage .
Pour que ce mécanisme de support existant fonctionne, vous devez ignorer complètement l'en-tête Host
(car les navigateurs à prendre en charge n'enverraient pas d'en-tête). Vous ne pouvez donc pas utiliser ServerName
et ServerPath
simultanément.
J'utiliserais simplement mod_rewrite
pour faire ce que vous voulez.
Je suis désolé de ne pouvoir répondre directement à votre question, mais cela me fascine. Je supporte Apache sur différents forums depuis 6 ans et c'est la première fois que je vois une question ServerPath. Qu'est-ce qui vous a amené à le considérer?
C'est une fonctionnalité tellement ancienne et désaffectée que je suppose que même ServerPath a oublié que ServerPath existait déjà.