1

サブドメイン (store.example.com) があります。store.example.com からのトラフィックをリダイレクトしたいだけでなく、ドメイン上の特定のファイルにトラフィックをリダイレクトしたい (見つけたものはすべて、サブドメイン全体のリダイレクトに基づいていました)

だから私は store.example.com/Science-Fiction が欲しい -> www.bundoranpress.com/category/1/Science-Fiction

htaccessファイルを使用してこれをどのように記述しますか?

4

1 に答える 1

0

いくつかのRewriteCondか、(私の意見では、より良いアプローチで)リクエストを処理するphpスクリプトが必要になります。最初のアプローチの場合:

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

これにより、store.example.com/ThanksForAllTheFishがダグラスアダムの本を販売しているwww.bundoranpress.com/store/ThanksForAllTheFishにリダイレクトされます。これで、次のように2番目のRewriteCondにすべての可能な用語を追加することができます。

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

これにより、用語の1つがキャプチャされ、対応するアドレス(www.bundoranpress.com/store/Universeなど)にリダイレクトされます。これは非常に迅速に困難になることがわかります。より良いアプローチは、すべてのURLを特定のフォルダーとサブドメインから残りを処理するphpスクリプトにリダイレクトすることです。

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

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

于 2012-04-22T21:17:08.763 に答える