将所有文件夹重定向到子域htaccess

时间:2015-02-26 11:14:28

标签: php apache .htaccess mod-rewrite redirect

我正在尝试将每个文件夹从domain.com重定向到它的子域。

示例:

domain.com/a -> a.domain.com
domain.com/b -> b.domain.com
domain.com/about -> about.domain.com

基本上,每个文件夹都重定向到它的子域名。对于第一个示例,文件夹a包含 index.html 。当我浏览到domain.com/a时,它应该将网址重定向到a.domain.com但是使用文件夹中的index.html文件。

我目前的htaccess看起来像这样:

RewriteEngine on
RewriteBase /


RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

RewriteCond %{HTTP_HOST} !^www\.domain\.com$
RewriteCond %{HTTP_HOST} ^(.*)\.domain\.com$
RewriteCond %{REQUEST_URI} !^/%1/


RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /%1/$1

RewriteRule ^(/)?$ %1/index.html [L]

什么有用 目前,如果我导航到test.domain.com,它正在运行,它会从测试文件夹中获取index.html文件。如果我去domain.com/test它仍在工作,但我想禁用它。我想将domain.com/test重定向到test.domain.com,但仍然使用测试文件夹中的index.html文件。

htacces文件中的另一件事是将www重定向到非www。

任何建议都将不胜感激。

修改 忘记提及我已尝试添加此行:

RedirectMatch 301 ^/test/(.*)$ http://test.domain.com/$1

它正在从domain.com/test重定向到test.domain.com/index.html,但它没有正确加载页面,我收到错误(Page isn'正确重定向)。

1 个答案:

答案 0 :(得分:1)

保持喜欢 RedirectMatch 301 ^ {RELATIVE PATH} $ {ABSOLUTE_PATH}