使用htaccess从子域重定向到域(单个文件)

问题描述:

我有一个子域(store.example.com)。我不仅要重定向来自store.example.com的流量,还要将其重定向到域上的特定文件(我能找到的所有内容均基于重定向整个子域)使用htaccess从子域重定向到域(单个文件)

所以我需要store.example。 com/Science-Fiction - > www.bundoranpress.com/category/1/Science-Fiction

我会如何使用htaccess文件编写此文件?

您将需要一些RewriteConds或(在我看来更好的方法)处理您的请求的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道格拉斯亚当的书。 现在,你可以去将所有可能的方面在第二的RewriteCond像这样:

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

这将捕获的条件之一,并重定向到相应的地址(例如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”]来访问变量。这为您提供了更大的灵活性。