Apache 虚拟主机从子域重定向到子目录

Apache 虚拟主机从子域重定向到子目录

我如何将发往 的请求重定向http://blog.mysite.comhttp://mysite.com/blog

阅读 Apache 文档何时不使用重写模式,我尝试了一个简单的重定向,例如

Redirect http://blog.mysite.com http://mysite.com/blog

但当我访问http://blog.mysite.com,它没有重定向我。有什么建议吗?

答案1

您能做点不同的事情<VirtualHost>blog.mysite.com

如果可以的话,只需将您的Redirect配置放在那里:

<VirtualHost *:80>
    ServerName blog.mysite.com
    Redirect / http://mysite.com/blog/
</VirtualHost>

如果由于某种原因您仍然需要搭载其他虚拟主机,或者需要处理所有子域而不仅仅是“博客”,那么使用mod_rewrite

RewriteEngine on
RewriteCond %{HTTP_HOST} ^([^\.]+)\.mysite\.com$
RewriteRule ^/(.*)$ http://mysite.com/%1/$1 [R=301,L]

相关内容