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

Ben*_*ack 3 redirect apache-2.2

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

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

Redirect http://blog.mysite.com http://mysite.com/blog
Run Code Online (Sandbox Code Playgroud)

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

Sha*_*den 5

你能做一个不同<VirtualHost>blog.mysite.com吗?

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

<VirtualHost *:80>
    ServerName blog.mysite.com
    Redirect / http://mysite.com/blog/
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

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

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