
Ich habe eine Domäne mit einer Subdomäne wie folgt in meiner vhost.conf-Datei eingerichtet.
<VirtualHost *:80>
ServerName mysite.com
ServerAlias www.mysite.com
DocumentRoot /opt/mysite/webapps/ROOT/
ProxyPassMatch / ajp://localhost:8084
</VirtualHost>
<VirtualHost *:80>
ServerName subdomain.mysite.com
ServerAlias www.subdomain.mysite.com
DocumentRoot /opt/mysite/webapps/ROOT/
Redirect /index.jsp /index2.jsp
ProxyPassMatch / ajp://localhost:8084
</VirtualHost>
Die Hauptseite wird geladen index.jsp
, aber ich möchte, dass die Subdomäne eine andere JSP-Datei lädt ( index2.jsp
).
Ich habe versucht, eine Weiterleitung zu verwenden, aber es geht nur index.jsp
zur Subdomäne.
Antwort1
BEARBEITEN
Das Folgende ist aufgrund des Vorhandenseins von falsch ProxyPassMatch
.
Es ist schon ewig her, seit ich das letzte Mal einen Apache VirtualHost konfiguriert habe, aber ich denke
DirectoryIndex index2.jsp
ist, wonach Sie suchen.
Die vollständige Konfiguration sähe also wie folgt aus:
<VirtualHost *:80>
ServerName subdomain.mysite.com
ServerAlias www.subdomain.mysite.com
DocumentRoot /opt/mysite/webapps/ROOT/
# Serve index2.jsp as index file
DirectoryIndex index2.jsp
ProxyPassMatch / ajp://localhost:8084
</VirtualHost>
BEARBEITEN
Ich habe nicht genau genug hingeschaut, es sieht so aus, als ob die ProxyPassMatch
Direktive viele andere Befehle außer Kraft setzt:
As the ProxyPassMatch directive is evaluated as the very beginning of each request:
-AddType (for MultiView) or DirectoryIndex directives are not usable
-right management per directory is not available
-each Alias directive needs another proxy rule
Das Problem ist, dass Ihr index2.jsp
Willeniemalsvon Apache bereitgestellt werden, da der Server bereits mit dem ProxyPass / übereinstimmt und es daher bereits an weitergegeben wurde ajp://localhost:8084
.
Sie sollten dann das Servieren index.jsp
oder index2.jsp
Weiter verwalten ajp://localhost:8084
.