2011-11-19 195 views
0

我搜索了四周,并尝试了几种不同的方式,但无法得到这个工作。htaccess子域名重定向

我实际上并没有设置子域,但将有大约30个类似的重定向,我需要做的。

如:

sub-domain.domain.co.uk需要去http://www.domain.com/folder/page-name

将有连字符几乎在每一个子域,每个页面名称',所以我不知道如果这影响正则表达式格式。

任何帮助将不胜感激!

感谢

+0

这是一个错误,但它仍然不起作用,如果我改变它。 – Jambo

回答

0

您需要使用%{HTTP_HOST}变量,并在匹配的RewriteCond它,然后用1%反向引用访问它在重写规则。

搜索“子域名重定向”堆栈溢出,它看起来像这正是你想要的东西:Internal subdomain to folder redirect


编辑

在上面的StackOverflow的链接接受的答案:

RewriteEngine on 
RewriteCond %{HTTP_HOST} !^www\. 
RewriteCond %{HTTP_HOST} ^([^/.]+)\.example\.com$ 
RewriteRule^%1%{REQUEST_URI} [L] 

在你的.htaccess文件中,把你的规则放在上面。显然,您需要修改example\.com以适应您的域名,并在文档根目录中设置正确的目录。

+0

“首先,您需要配置您的服务器以接受您的域名的任何子域名” 说实话,我甚至不知道我会在哪里做到这一点?我使用Hostgator,我认为它从一开始就很好。 – Jambo

+0

你必须看到Hostgator的教程设置子域名。您只需要将您设置的所有子域指向同一个文档根目录即可。 –

+0

就是这样,我不想实际创建子域的负载,因为它只会导致我想要的大量混乱。 我认为有可能重定向一个'虚拟'子域,无论是否已在cPanel中'创建'。 – Jambo