有没有办法使用.htaccess创建像url重定向这样的子域名?

时间:2010-03-05 09:17:12

标签: .htaccess redirect

我想写一个.htaccess,应该从中执行以下操作。

我有像

这样的域名
www.xyz.com 

我正在撰写许多文章。 所以它会成为

www.xyz.com/article1-tutorial/
www.xyz.com/article2-tutorial/
www.xyz.com/article3-tutorial/

但不是我需要这样的。

www.article1-tutorial.xyz.com/
www.article2-tutorial.xyz.com/
www.article3-tutorial.xyz.com/

请帮助找到解决方案。我知道我们不能去寻找子域概念,只有重定向的方式。那么什么是解决方案?

3 个答案:

答案 0 :(得分:2)

你可以像这样使用apache的mod重写:

   RewriteEngine On
   RewriteBase /
   RewriteCond %{HTTP_HOST} !www.domain.com$ [NC]
   RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+).domain.com [NC]
   RewriteRule (.*) %2/$1 [L]

当用户转到http://article1-tutorial.domain.com/时 server internaly将请求重写为http://www.domain.com/article1-tutorial

答案 1 :(得分:2)

你的apache.conf中需要这样的东西:

<VirtualHost *:80 >
        ServerName automated_domains
        ServerAlias *.xyz.com
        VirtualDocumentRoot /home/xyzcom/website/
</VirtualHost>

然后在您放入/home/xyzcom/website的PHP文件中,您可以获取$_SERVER['HTTP_HOST']变量中实际调用的域。

希望这有帮助!

KKovacs

答案 2 :(得分:1)

你能使用apache的反向代理引擎吗?

Reverse Proxying with Apache