apache - versteckte - htaccess weiterleitung unterverzeichnis




.htaccess umleiten auf externe URL, während Redirect ausgeblendet wird (3)

Ich möchte in der Lage sein, eine Domain, die auf mein Webhosting verweist, auf eine externe Domain umzuleiten.

Zum Beispiel habe ich das in meinem .htaccess:

RewriteCond %{HTTP:Host} ^(?:www\.)?mydomain\.example$ 
RewriteRule ^(.*)$ http://myexternal.example/site [R=301,NC]

Wenn ich die Domäne jedoch besuche, ändert sich die URL in meiner Adressleiste zu http: //myexternal.example/site .

Wie kann ich umleiten, ohne die URL zu ändern?

Gibt es einen anderen Weg? Muss ich einen Frame / Iframe verwenden?


Entweder ein einzelnes Frameset oder ein Iframe mit einer Breite / Höhe von 100%.

Ich bin mir nicht sicher, ob Framsets in neueren Versionen von HTML unterstützt werden, aber Browser verstehen immer noch alte Versionen ... aber ein einzelner Iframe ist trotzdem einfach.

<html>
<head>
<title>My Site</title>
<style>
body {
    margin: 0;
    padding: 0;
}
body, iframe {
    width: 100%;
    height: 100%;
}
iframe {
    border: 0;
}
</style>
</head>

<body>
<iframe src="http://example.com" />
</body>
</html>

Keine der anderen Antworten schlug dies vor. Was Op sucht, ist Mod-Proxy . Sie können die Anfrage von Ihrer DomainA an DomainB mit dem P- Flag von mod-rewrite übernehmen.

RewriteRule ^(.*)$ http://domainB.com/$1 [P]

Dies leitet intern alle Anfragen von DomainA an DomainB um.

Stellen Sie sicher, dass Mod-Proxy auf Ihrem Server aktiviert ist.


Vor langer Zeit, aber ich beantworte trotzdem die Frage für diejenigen, die von Google kommen (wie ich). Die Antwort ist wirklich einfach:

Entfernen Sie in Ihrem Htaccess den R = 301-Teil (und natürlich das Komma).

R = 301 bedeutet, dass Sie es über eine 301-Weiterleitung tun. Das willst du nicht