ドメインに対して307リダイレクトを作成し、「マスク」されていることを確認するように求められました。つまり、アドレスバーに元のURLを保持します。
307(301/302とは対照的に)リダイレクトに関する情報はあまりありませんが、私の調査では、307リダイレクトは302リダイレクトに似ているようです。
私は頼まれたことは不可能だと感じており、今のところ彼の無料ホストWebサイトをロードするiframeを作成しました。
バカを見て彼に戻り、アドレスバーにURLを保持する唯一の方法はiFrameであると伝える前に、誰かがこれを確認できますか。
または、307リダイレクトを作成する方法を教えてください。私はそれがこのようなものだと思います....しかし、どのようにそれを隠すことができますか?
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.newdomain.com/$1 [R=307,L]
マスク307リダイレクトは使用できません。リダイレクトまたはマスクできますが、両方を同時に使用することはできません。あなたが質問に投稿したコードは、あなたが望む解決策であればリダイレクトを達成しますが、なぜ307リダイレクトを必要とするのか理解していません。ブラウザにGET/POSTメソッドを切り替えることができないことを伝えるだけです。 POSTデータが予想されるURLで使用される可能性がある場合を除き、永続的なリダイレクトの場合は301、一時的なリダイレクトの場合は302に固執するのがベスト/一般的な方法です。 307リダイレクト自体はマスキングを適用しません。301、302、307のいずれのリダイレクトヘッダーでもブラウザのアドレスが変更されます。
ほとんどのWebサイトマスキングは、ソースコードを自分で作成するのではなく、ホスティングまたはドメイン名コントロールパネルを使用して設定および管理されますが、今日最もよく使用される方法は、すべての主要なブラウザーがまだサポートしている古いHTML4フレームセットタグです:
<!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>
リクエストをプロキシすることでマスクするには、index.phpでこれに似たPHPコードを使用できます。
<?php
$sOldURL = sprintf( 'http://www.masked-domain.com/%s', $_SERVER['REQUEST_URI'] );
echo( @file_get_contents( $sOldURL ));
exit;
そして。htaccessファイルを使用して、すべてのリクエストをindex.phpファイルにリダイレクトします。
RewriteEngine On
RewriteRule ^(.*)$ /index.php/$1 [L]
外部リダイレクト(3xxステータス)およびリクエストをマスクする(つまり、元のURLをアドレスバーに保持する)ことは不可能です。エンドユーザーにとって、「マスクされた」URLは通常の(200 OK)要求のように見えます。 3xx応答はそうではありません。
iFrameは、アドレスバーにURLを保持する唯一の方法です
ただし、iframeは必ずしもURLをマスクする唯一の方法ではありません。これがクロスドメインリクエストであると仮定すると、リクエストはプロキシ?
...彼の無料ホストWebサイト。
この場合、iframeがこれを処理する唯一の方法である可能性があります。
私の一部は、これに何か他のものがあるに違いないと思う?どこに「リダイレクト」したいのですか?from?