2009-08-11 13 views
0

これが可能かどうかは確かではありませんが、検索は試しましたが、現在の状況に正確な答えが見つかりませんでした。ユーザ定義ドメインのURLを書き直してください

私は、ユーザーが自分のドメインをサービスにポイントできるようにするサービスを構築しています。 (彼らは私のサーバのIPアドレスに向かってAレコードを指す必要があります)

私はすべてのin apacheを使ってドメインを捕まえることができます。だから私はこのキャッチのためのVhostレコードをhttpd.confに作りました。したがって、apacheの定義されていないすべてのホスト名は特定のディレクトリを指しています。

今、このドメインをサービスのパラメータとして渡したいと思います。だから、

アドレスバーにURLを保つ必要があるの.htaccessでwww.mywebserviceurl.com/domain/catch/this.randomdomain.comにthis.randomdomain.com指すことが可能であるthis.randomdomain.com

編集:

RewriteEngine On 
RewriteRule ^(.*)$ http://example.com/blogs/string/$1 [R=301] 

上記リダイレクトしているが、Firefoxのtrowsエラーは、「ページが正しくリダイレ​​クトされていない - Firefoxはサーバがその決して完全な方法でこのアドレスに対する要求をリダイレクトしていることを検出しました。 " 住所は私が望まないものを変えています。

ありがとうございました!

答えて

1

ルールからそのドメインを除外する:

RewriteCond %{HTTP_HOST} !=example.com 
RewriteRule ^(.*)$ http://example.com/blogs/string/$1 [R=301] 

そして、あなたはあまりにもドメインをしたい場合:

RewriteCond %{HTTP_HOST} !=example.com 
RewriteRule ^(.*)$ http://example.com/blogs/string/%{HTTP_HOST}/$1 [R=301] 
+0

これは機能していますが、これをユーザーに見えないようにするにはどうすればよいですか? – SePP

+0

これを行うには、おそらくプロキシを使用する必要があります(mod_proxyが必要です)。 'P'フラグを追加するだけです。 – Gumbo

+0

[R = 301]を[P]に変更するとリダイレクトが中断され、404ページが見つかりません。 – SePP

0

あなたはガンボの答えを使用していますが、中括弧内の引数を変更した場合、あなたは静かにすることができますがリダイレクト。 [R=301][L]に変更します。これは、最後に実行されるルールです。

RewriteCond %{HTTP_HOST} !=example.com 
RewriteRule ^(.*)$ http://example.com/blogs/string/$1 [L,P] 

編集:Gumboの回答を見てから、mod_proxyを有効にしてPフラグを追加する必要があります。

+0

私はそれを[L]に変更しました。リダイレクトは機能し続けますが、彼はそれを静かにしていません。アドレスバーが変更されます。 – SePP

+0

Gumboの更新された回答がうまくいくはずです。私は自分の反応に合わせて編集しました。 –

関連する問題