htaccess mod rewrite允许一个域没有www并保留一个特定的子域

时间:2014-06-16 18:03:56

标签: .htaccess mod-rewrite

我想将所有可能输入的域指向某个基本域而不使用www:

www.example1.com
example2.net
example3.nl

(无数不同......越来越多)

重写为>

base-example.com

这里是挂钩 -
还有一个子域仍然可以输入:

subdom.base-example.de

(该子版本将附加到子文件夹 / data / stuff / different

但是在地址栏中总会显示 subdom.base-example.de (没有子文件夹信息可见)


我试过了:

RewriteCond %{HTTP_HOST} ^base-example\.com$ [OR]
RewriteCond %{HTTP_HOST} ^subdom\.base-example\.com$ 
RewriteRule ^data/stuff/different/(.*)$ http://subdom.example.com/$1 [R=301]
RewriteRule ^data/stuff/(.*)$ http://subdom.example.com/$1 [R=301]
RewriteRule ^data/(.*)$ http://subdom.example.com/$1 [R=301]


RewriteCond %{HTTP_HOST} ^subdom\.base-example\.com$
RewriteRule ^(.*)$ http://subdom.base-example.com/$1 [R=301]

RewriteCond %{HTTP_HOST} !^base-example\.com$
RewriteRule ^(.*)$ http://base-example.com/$1 [R=301]

1 个答案:

答案 0 :(得分:1)

您可以使用此规则:

RewriteCond %{HTTP_HOST} !^base-example\.com$
RewriteCond %{HTTP_HOST} !^subdom\.base-example\.com$
RewriteRule ^ http://base-example.com%{REQUEST_URI} [R=301,L,NE]