2012-04-21 21 views
1

私はサブドメイン(store.example.com)を持っています。 store.example.comからのトラフィックをリダイレクトするだけでなく、ドメイン上の特定のファイルにリダイレクトしたい(サブドメイン全体のリダイレクトに基づいていることがわかりました)サブドメインからドメイン(個々のファイル)にhtaccessを使用してリダイレクト

私はstore.exampleが必要です。 com/Science-fiction - > www.bundoranpress.com/category/1/Science-Fiction

htaccessファイルを使ってどのように書きますか?

答えて

0

あなたは、あなたの要求を処理するPHPスクリプトを(私の意見ではより良いアプローチで)いくつか必要になります。最初のアプローチについて:

RewriteCond %{HTTP_HOST} ^([^\.]+)\.example\.com$ [NC] 
RewriteCond %{REQUEST_URI} ^(ThanksForAllTheFish) [NC] 
RewriteRule (.*) http://www.bundoranpress.com/$1/$2 [L,R] 

これは、ダグラス・アダムズの本を販売www.bundoranpress.com/store/ThanksForAllTheFishするstore.example.com/ThanksForAllTheFishをリダイレクトします。 さて、あなたはそうのような第二のRewriteCondで可能なすべての用語を追加するために行くことができます:

RewriteCond %{REQUEST_URI} ^(ThanksForAllTheFish|Universe|Hitchhiking) [NC] 

これは、条件のいずれかをキャプチャし、対応するアドレス(例えばwww.bundoranpress.com/store/Universe)にリダイレクトします。これは非常に迅速に困難になることがわかります。 より良いアプローチがそうのように、残りの部分を処理するPHPスクリプトに特定のフォルダとサブドメインからすべて URLをリダイレクトするために、次のようになります。

RewriteCond %{HTTP_HOST} ^([^\.]+)\.example\.com$ [NC] 
RewriteCond %{REQUEST_URI} ^books/(.*) [NC] 
RewriteRule (.*) http://www.bundoranpress.com/index.php?sub=$1&cat=$2 [L,R] 

これはWWWにstore.example.com/books/ThanksForAllTheFishをリダイレクトします.bundoranpress.com/index.php?sub = store & cat = ThanksForAllTheFish。 $ _GET ["sub"]と$ _GET ["cat"]を介して変数にアクセスできます。これにより、柔軟性が大幅に向上します。

関連する問題