htaccess特定文件夹重定向到子域

时间:2013-09-26 13:36:38

标签: regex apache .htaccess mod-rewrite

我一直无法使用.htaccess将从特定目录开始的任何路径重定向到子域。主要问题可能是目录实际存在,因为它是我的子域指向的目录。我不担心维护路径,重定向到主页的每个都很好。我还需要几个特定领域,即:

website.com/foo -> foo.website.com
website.com/foo/about.html -> foo.website.com
website.com/foo/other/index.html -> foo.website.com

website.com/bar -> foo.website.com
website.com/foo/about.html -> foo.website.com
website.com/foo/other/index.html -> foo.website.com

2 个答案:

答案 0 :(得分:2)

您希望将Redirect特定文件夹发送到特定主机。作为使用mod_rewrite的替代方法,您可以使用mod_aliasRedirectMatch

RedirectMatch ^/foo[$/]? http://foo.website.com/
RedirectMatch ^/bar[$/]? http://foo.website.com/

您当然可以添加更多规则以适合您的设置。

答案 1 :(得分:0)

启用mod_rewrite.htaccesshttpd.conf,然后将此代码放入DOCUMENT_ROOT/.htaccess文件中:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} !^foo\. [NC]
RewriteRule ^(foo|bar)(/.*)?$ http://foo.%{HTTP_HOST}/ [L,R=301,NC]