如何.htaccess将域重定向到子域,同时保持主域不变

时间:2013-04-22 21:38:03

标签: .htaccess redirect dns subdomain

我想重定向我的域名下的所有网址

domain.com/urls,www.domain.com/profile/user1.html等,以及subdomain.domain.com/urls和subdomain.domain.com/profile/user1.html等。

但我不想将domain.com和www.domain.com重定向到subdomain.domain.com

可以通过htaccess吗?

编辑:我只想重定向内部页面和文件。但保留主域名完整。

更多例子

domain.com/page1.html to subdomain.domain.com/page1.html

www.domain.com/members/admin.html to subdomain.domain.com/members/admin.html

www.domain.com to www.domain.com (no redirection here)

2 个答案:

答案 0 :(得分:3)

尝试:

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/.+
RewriteCond %{REQUEST_URI} !^/index\.(php|htm)
RewriteCond %{HTTP_HOST} !^subdomain.domain.com$ [NC]
RewriteRule ^ http://subdomain.domain.com%{REQUEST_URI} [L,R]

如果要永久重定向,请将方括号更改为:[L,R=301]

答案 1 :(得分:0)

您可以先通过重写来处理主页,并使用第二条规则重定向其他所有内容

RewriteRule ^$ - [L]
RewriteCond %{HTTP_HOST} !^subdomain.domain.com$
RewriteRule ^.+$ http://subdomain.domain.com/$0 [R,L]

如果一切正常,您可以将R更改为R=301