it-swarm.com.de

So konfigurieren Sie den virtuellen Host für die Berücksichtigung des Domänenpfads in Apache

die folgende virtuelle Host-Definition funktioniert für eine beliebige URL, die mit "http://1.2.3.4:80/*" beginnt.

<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>

So schreiben Sie diese Konfiguration neu, sodass sie nur für URLs angewendet wird, die mit "http://1.2.3.4:80/user/*" beginnen

Ich habe "ServerPath/user" ausprobiert, aber es funktioniert nicht ...

Irgendwelche Ideen?

2
Scholle

Leider ist ServerPath eine Legacy-Direktive, die zur Unterstützung von HTTP/1.0-Clients verwendet wird, die den Host: -Header nicht unterstützen. Daher besteht eine Alternative darin, dass der primäre vhost eine Seite mit Links mit URL-Präfixen bereitstellt, die Apache für das Routing verwenden kann .

Damit dieser alte Unterstützungsmechanismus funktioniert, müssen Sie den Header Host vollständig ignorieren (da die zu unterstützenden Browser keinen senden würden). Sie können also ServerName und ServerPath nicht gleichzeitig verwenden.

Ich würde einfach mod_rewrite verwenden, um zu tun, was Sie wollen.

1
Lèse majesté

Es tut mir leid zu sagen, dass ich Ihre Frage nicht direkt beantworten kann, aber ich bin fasziniert davon. Ich mache seit 6 Jahren Apache-Support in verschiedenen Foren und dies ist das erste Mal, dass ich eine ServerPath-Frage sehe. Warum hast du darüber nachgedacht?

Es ist eine so alte und nicht mehr genutzte Funktion, dass ich vermute, dass ServerPath vergessen hat, dass ServerPath existiert.

0
noodl