Apache URL Rewrite

ekin06

Captain
Registriert
Nov. 2007
Beiträge
3.474
Hi,

folgendes Problem. Auf einem Server läuft eine Java-Anwendung auf einem bestimmten Port. Wenn man jetzt die Adresse eingibt wird Sie allerdings nicht auf die für die Anwendung bestimmte Domain umgeschrieben/weitergeleitet.

Also z.B.

Eingabe von:
http://server.com:1234/anwendung

Ausgabe von:
http://server.com:1234/anwendung

Ich möchte aber das die Ausgabe ist:
http://www.anwendung-domain.com

Ich möchte aber auch das die URL nach "anwendung-domain.com" umgeschrieben wird falls in einer Anfrage der Name der Anwendung vorhanden ist. Doch leider funktioniert es nicht, er zeigt immer nur die Ausgangsadresse + Port an.

RewriteEngine on
RewriteCond %{ENV:SCRIPT_URI} ^Name-der-Anwendung [NC]
RewriteRule ^.*$ http://www.anwendung-domain.com/ [R]

Wo liegt der Fehler? Wäre es noch anders zu realisieren?

Danke,
mfg ekin06
 
Ok, danke.

Also es funktioniert für www.server.com/anwendung

aber nicht wenn ich den Port mit angebe, also www.server.com:1234/anwendung.

Die Anwendung läuft über Apache Tomcat und ist über das Modul mod_jk eingebunden. Wieso funktioniert die Weiterleitung nicht wenn der Port dabei steht? :(
Ergänzung ()

Hm, ich glaube ich weiß warum. Sobald ich die Anfrage mit Port starte, läuft diese nicht über den Apache sondern über den Tomcat-Server - jedenfalls ist keine Anfrage in der access_log.
Ergänzung ()

Also wichtig ist mir eigentlich nur das der Port verschleiert wird.
 
Apropos, ich hatte ganz vergessen zu sagen wie ich das Problem gelöst hatte. Ich habe es komplett über die mod_jk gelöst. Und zwar brauchte ich einfach nur ein "JKMountCopy All" in die Globale Config einbinden und die normalen Befehlszeilen.

JKMount /anwendung worker1
JkMount /anwendung/* worker1

Dann hat er auch keinen Port mehr angezeigt und ich konnte normal Redirecten.
Ergänzung ()

Hm, ich habe schon wieder ein neues Problem.

Und zwar habe ich 2 alte Domains (domain_old.de und domain_old.net) und eine neue Domain (domain_new.info). Jetzt möchte ich das die beiden alten Domains auf die neue Domain weitergeleitet werden.

Die Schwierigkeit liegt aber darin, dass alle Anfragen mit domain_old.net/*.* z.B. domain_old.net/anwendung.rb nicht weitergeleitet werden sondern vom lokalen Apache des alten Servers verarbeitet.

Also:
1. Die .de Domain soll komplett weitergeleitet werden nach .info
2. Nur wenn exakt www.domain_old.net oder domain_old.net angefragt wird, soll an .info weitergeleitet werden.

Wie kann ich das realisieren. Mit RewriteCond?

Also so würde es aussehen für die komplette Domain oder?
Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} domain_old\.de [NC]
RewriteRule ^(.*)$ http://www.domain_new.info/$1 [R]

Aber bei dem anderen hab ich keine Ahnung :(
 
erstell doch einfach nen lokalen virtualhost für die neue domain und leite per RedirectPermanent auf die neue url um.
 
Also ich habs jetzt so gemacht:

auf dem .net Server
VirtualHost für www.domain_old.net mit
ServerAlias www.domain_old.net und
RedirectPermanent / http://www.domain_neu.info

VirtualHost für domain_old.net mit
ServerAlias domain_old.net
und dort hab ich einfach das Redirect weg gelassen, dann bleibt er ja auf dem Server.

und dann auf dem .de Server ein
VirtualHost für www.domain_old.de mit
ServerAlias www.domain_old.de und domain_old.de und
RedirectPermanent wie oben.

Der .info Server hatte bereits den VirtualHost für die neue Seite.
Funzt alles wunderbar, so wie ich es haben wollte.
 
Zurück
Oben