使用.htaccess重定向所有子域

时间:2014-07-09 15:27:51

标签: .htaccess redirect

我想要实现的是使用301将任何subdomain.mydomain.info重定向到mydomain.info/subdomain,以便访问者仍然可以看到subdomain.mydomain.info。

经过一些研究后,我发现我必须在A-Record中设置通配符,这样做。比我继续创建一个.htaccess。下面是我的整个.htaccess。

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.domain\.info [NC]
RewriteCond %{HTTP_HOST} ([^.]+)\.domain\.info [NC]
RewriteRule ^(.*)$ /%1/$1 [L]

当我打开subdomain.mydomain.info,我知道mydomain.info/subdomain是一个现有文件夹时,我只收到一条消息,告诉我域“subdomain.mydomain.info”不可用。

我的网站空间正在运行Confixx面板,如果有帮助的话。

这里可能出现什么问题? 在这一点上,我猜测需要在.htacces之外进行一些配置,但不知道在哪里以及在哪里。

BIG EDIT:

重温这一点。原来我必须和我的提供商谈谈才能正确设置一些东西。尽管如此仍在试图解决这个问题。

目前情况:上面的.htaccess给了我一个500.在评论中建议输入R,als将“sd.domain.info”重定向到“domain.info/sd/sd/sd/sd “并导致我的浏览器出错。浏览器显示“此页面上有重定向”,并为我提供再次加载它的选项。 Al Kafri Firas建议的版本也给了我500.当我删除.htaccess时,任何“subdomain.doamin.info”被重定向到“domain.info”,其URL在浏览器的头部被更改。

仍然希望这项工作......

1 个答案:

答案 0 :(得分:0)

还原您对A-Record所做的所有更改并使用此规则

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.example\.info$ [NC]
RewriteCond %{HTTP_HOST} ^(www\.)?([a-z0-9-]+)\.example\.info$ [NC]
RewriteRule /%2%{REQUEST_URI} [PT,L]