2010-06-12 5 views
5

Ich bin wirklich neu in Apache mod_rewrite Modul. Ich habe eine Seite namens http://abc in meinem Firmenintranet. Ich möchte, dass Benutzer immer an die Adresse http://abc.somecompanyname.com weitergeleitet werden, wenn sie http://abc in die URL-Leiste eingeben. Könnte mir jemand bitte ein Beispiel geben oder mir in die richtige Richtung weisen.Wie leite ich einen Benutzer, der Apache Rewrite verwendet, zum vollqualifizierten Domänennamen um?

Ich denke, das sollte eine ziemlich einfache Frage zu beantworten sein. Danke allen für Ihre Eingaben.

-Mark

Antwort

4

Sie können erreichen, dass mit einer Virtual Definition so einfach, wie dies auf der Server der Bearbeitung von Anforderungen für abc:

<VirtualHost *:80> 
    ServerName abc 
    RewriteEngine on 
    RewriteRule ^/(.*)$ http://abc.somecompanyname.com/$1 [R,L] 
</VirtualHost> 
+0

können wir ihn ohne URL umleiten? Zum Beispiel, wenn ich http://mywebsite.example.com/a schreibe, wird es die Abfrage zu http: // localhost: 7777/a umleiten, ohne die URL meines Browsers zu ändern? – rsabir

+0

rsabir: Was Sie fragen, wird normalerweise als Proxy bezeichnet, nicht als Weiterleitung. – serverhorror

1

finde ich die Beratung in der Apache2 URL Rewriting Guide besser gearbeitet.

Ich landete mit:

RewriteEngine on 
RewriteCond %{HTTP_HOST} !^foo\.bar\.com [NC] 
RewriteCond %{HTTP_HOST} !^$ 
RewriteRule ^/(.*)   http://foo.bar.com/$1 [L,R] 

Die "RewriteEngine auf" Linie nicht im Apache2 Beispiel enthalten war. Vielleicht ist es normalerweise standardmäßig aktiviert, aber in meinem Fall musste ich es hinzufügen.

4

Zitat von Apache 2.4 documentation:

Der besten Weg, dies beinhaltet mod_rewrite überhaupt nicht zu lösen, sondern verwendet die Richtlinie Redirect in einem virtuellen Host platziert für die nicht-kanonischen Hostnamen (s).

<VirtualHost *:80> 
    ServerName undesired.example.com 
    ServerAlias example.com notthis.example.com 

    Redirect/http://www.example.com/ 
</VirtualHost> 

<VirtualHost *:80> 
    ServerName www.example.com 
</VirtualHost> 

Dies macht einen weiteren virtuellen Host erfordern, aber es gibt keinen Mangel an diesen. Die Lösung funktioniert sehr gut für mich - und ich mag, wie die Umleitung von "unerwünschten" Hosts und die Konfiguration des kanonischen Hosts getrennt sind.

+0

Das funktioniert großartig, sogar die Pfadnamen und Parameter werden umgeleitet. – derFunk

Verwandte Themen