2009-11-27 19 views
5

自分のウェブホスティングを指すドメインを外部ドメインにリダイレクトできます。例えば.htaccessリダイレクトを隠している間に外部URLにリダイレクト

、私は私の.htaccessにこれを持っています。しかし

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

、私はhttp://myexternal.example/siteにドメイン、私のアドレスバーの変更でURLを訪問するとき。

URLを変更せずにリダイレクトするにはどうすればよいですか?

別の方法がありますか?フレーム/ iframeを使用する必要がありますか?

答えて

1

1つのフレームフレームセット、または幅/高さが100%に設定されたiframeです。

フレームセットが新しいバージョンのHTMLでサポートされているかどうかはわかりませんが、ブラウザは古いバージョンをまだ理解していますが、とにかく1つのiframeは簡単です。

<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> 
+0

新しいブラウザではなく、HTMLの新しいバージョンです。つまり、XHTMLのどのバージョンでもフレームセットDTDが存在しないと私は確信しています。 –

+0

フレームセットは新しいブラウザでサポートされています。 FAMEETサポート情報:http://reference.sitepoint.com/html/frameset –

+0

ここで使用するDTDを確認できます:http://reference.sitepoint.com/html/elements-and-dtds フレームセットのXHTML: "XHTML 1.0 Frameset" –

1

おそらく、あなたのドメインmydomain.netのDNSをmyexternal.netにリンクするように変更することでこれを達成できます。次に、適切な.htaccessを外部サーバーで使用する必要があります。

8

少し前に、私は(私のような)Googleによってここに来る人のために、とにかく質問に答えます。答えは本当にシンプルです:

あなたのhtaccessでは、R = 301部分(およびカンマはもちろん)を削除してください。

R = 301は、301リダイレクトを介して行うことを意味します。あなたはそれをしたくないです

0

これ以外の回答はありません。何を探しているのですかmod-proxyです。 ドメインAからドメインBから mod-rewriteのフラグを使用して、リクエストをプロキシすることができます。

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

これは、ドメインAからドメインBへのすべてのリクエストを内部的にリダイレクトします。

サーバーでmod-proxyが有効になっていることを確認してください。

関連する問題