あなたは、あなたの要求を処理する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"]を介して変数にアクセスできます。これにより、柔軟性が大幅に向上します。
出典
2012-04-22 21:17:08
Jan