Wie kann ich den Anwendungsnamen aus der URL einer Grails-Anwendung entfernen?

8

Ich habe eine Anwendung, die unter einer URL wie folgt läuft:

  

Ссылка

Ich möchte nicht den /myapp -Teil in der URL haben. Wie kann ich den Namen der Anwendung loswerden? Ich will nur

  

Ссылка

ist die URL. Wie kann ich das tun?

    
n92 10.01.2013, 11:40
quelle

3 Antworten

7

bit detailierter Ansatz

Erste Methode:

  

Schalte zuerst deinen Tomcat [aus dem bin-Verzeichnis ( sh shutdown.sh )] dann herunter   muss dann den gesamten Inhalt deines tomcat webapps-Ordners ( rm -fr * ) löschen   Benenne deine WAR-Datei in ROOT.war um und starte deinen Tomcat   [aus dem Verzeichnis bin ( sh startup.sh )]

Zweite Methode:

  

Lassen Sie Ihre Kriegsdatei in CATALINA_BASE/webapps unter ihrem ursprünglichen Namen - ausschalten   autoDeploy und deployOnStartup in Ihrem Host-Element in der Datei server.xml.   Definieren Sie explizit alle Anwendungskontexte in server.xml, indem Sie beide Pfade angeben   und docBase. Sie müssen dies tun, weil Sie alle Tomcat deaktiviert haben   automatische Bereitstellung Mechanismen, und Tomcat wird Ihre Anwendungen nicht mehr bereitstellen   es sei denn, es findet ihren Kontext in der server.xml.

Hinweis:

  

dass diese letzte Methode auch das beinhaltet, um irgendwelche Änderungen vorzunehmen   Anwendung müssen Sie Tomcat stoppen und neu starten.

Dritte Methode:

  

Lege deine Kriegsdatei außerhalb von CATALINA_BASE/webapps ab (sie muss draußen sein)   doppelte Bereitstellung zu verhindern). - Platzieren Sie eine Kontextdatei mit dem Namen ROOT.xml in
CATALINA_BASE/conf// . Das einzelne Element in dieser Kontextdatei MUSS a   docBase-Attribut, das auf den Speicherort der WAR-Datei verweist. Das Pfadelement   sollte nicht festgelegt werden - es wird von dem Namen der XML-Datei in diesem abgeleitet   Fall ROOT.xml . Weitere Informationen finden Sie oben im Kontextcontainer.

    
TheWhiteRabbit 10.01.2013, 12:28
quelle
2

1) Ihr App-Server muss so konfiguriert sein, dass Ihre Anwendung "grails" als ROOT-Anwendung verwendet wird

2) Der Kontextpfad für Ihre Grails-Anwendung sollte "/" oder app.context = /

lauten     
TheWhiteRabbit 10.01.2013 11:44
quelle
1

Sie können Tomcat dazu bringen, eine Webanwendung als Root-Kontext zu verwenden, indem Sie einfach ROOT.war benennen, d. h. die von Grails erzeugte myapp-0.1.war übernehmen und in TOMCAT_DIR/webapps/ROOT.war kopieren.

Wenn Sie eine Einstellung für grails.serverURL in Ihrem Config.groovy haben, müssen Sie dies für Ihre Produktionsumgebung überschreiben, um sicherzustellen, dass alle von Grails erzeugten absoluten Links korrekt sind

%Vor%

Aber in Grails 2 ist es normalerweise sicher, grails.serverURL ganz wegzulassen und die App zur Laufzeit den richtigen Wert abzuleiten. Sie benötigen es nur, wenn Sie hinter einem Reverse-Proxy laufen, der nicht den richtigen Header Host durchläuft.

    
Ian Roberts 10.01.2013 12:14
quelle