it-swarm.com.de

Ist eine maskierte 307-Weiterleitung für eine Domain möglich?

Ich wurde gebeten, eine 307-Umleitung für eine Domain zu erstellen, um sicherzustellen, dass diese "maskiert" ist. Behalten Sie die ursprüngliche URL in der Adressleiste.

Es sind nicht viele Informationen zu 307-Weiterleitungen (im Gegensatz zu 301/302) verfügbar, aber aus meinen Untersuchungen geht hervor, dass 307-Weiterleitungen 302-Weiterleitungen ähneln.

Ich habe das Gefühl, dass das, worum ich gebeten wurde, unmöglich ist, und ich habe vorerst einen Iframe erstellt, der seine frei gehostete Website auflädt.

Bevor ich einen Idioten anschaue und zu ihm zurückkehre und ihm sage, dass iFrames die einzige Möglichkeit sind, die URL in der Adressleiste zu behalten, kann dies jemand bestätigen.

Alternativ können Sie mir mitteilen, wie eine 307-Umleitung erstellt wird. Ich nehme an, es ist so etwas .... Aber wie kann es maskiert werden?

Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.newdomain.com/$1 [R=307,L] 
6
Rob

Eine maskierte 307 Weiterleitung ist nicht möglich. Sie können entweder umleiten oder maskieren, aber nicht beide zusammen. Mit dem Code, den Sie in Ihrer Frage angegeben haben, wird die Weiterleitung erreicht, wenn dies die gewünschte Lösung ist. Ich verstehe jedoch nicht, warum Sie eine 307-Weiterleitung wünschen, die dem Browser lediglich mitteilt, dass er nicht zwischen der GET/POST-Methode wechseln kann. Die beste/übliche Vorgehensweise besteht darin, 301 für permanente Weiterleitungen und 302 für temporäre Weiterleitungen beizubehalten, es sei denn, dies wird für eine URL verwendet, für die POST Daten erwartet werden. Eine 307-Umleitung wendet an sich keine Maskierung an - ein Umleitungsheader, ob 301, 302 oder 307, ändert die Browseradresse.

Während die meisten Websitemaskierungen über Hosting- oder Domainnamen-Kontrollfelder eingerichtet und verwaltet werden, anstatt dass die Benutzer den Quellcode selbst schreiben, sind die heute am häufigsten verwendeten Methoden immer noch die alten HTML4-Frameset-Tags, die von allen gängigen Browsern noch unterstützt werden:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" 
  "http://www.w3.org/TR/html4/frameset.dtd">
<html>
  <frameset rows="100%">
    <frame src="http://www.masked-domain.com/" />
  </frameset>
</html>

Um durch Proxy-Anfragen zu maskieren, können Sie PHP Code verwenden, der dem in index.php ähnlich ist:

<?php
$sOldURL = sprintf( 'http://www.masked-domain.com/%s', $_SERVER['REQUEST_URI'] );
echo( @file_get_contents( $sOldURL ));
exit;

und leiten Sie dann alle Anfragen an diese index.php -Datei um, indem Sie eine .htaccess -Datei verwenden:

RewriteEngine On
RewriteRule ^(.*)$ /index.php/$1 [L]
2
richhallstoke

Es ist unmöglich, extern umzuleiten (3xx-Status) nd die Anfrage zu maskieren (dh die ursprüngliche URL in der Adressleiste zu belassen). Für den Endbenutzer sieht eine "maskierte" URL wie eine normale (200 OK) Anfrage aus. Eine 3xx Antwort ist nicht.

iFrames sind die einzige Möglichkeit, die URL in der Adressleiste beizubehalten

Iframes sind jedoch nicht unbedingt die einzige Möglichkeit, die URL zu maskieren. Angenommen, dies ist eine domänenübergreifende Anfrage, dann könnte die Anfrage Proxy?

... seine frei gehostete Website.

Nun, in diesem Fall könnte ein Iframe die einzige Möglichkeit sein, damit umzugehen!


Ein Teil von mir denkt, dass da noch etwas anderes dran sein muss? Wo möchten Sie "umleiten" von?

2
MrWhite