Apache别名虚拟主机

时间:2011-08-26 17:47:57

标签: apache virtualhost mod-alias

我有两个应用程序在同一个服务器上运行,我希望从url(即)中的子路径提供一个:

  • foo.com - >的/ var / WWW /富
  • foo.com/bar - >的/ var / WWW /酒吧

我正在尝试使用别名但不起作用:

<VirtualHost *:80>
  ServerAdmin webmaster@foo.com
  ServerName foo.com
  DocumentRoot /webapps/foo/current/public
  <Directory /webapps/foo/current/public>
    AllowOverride all
    Options -MultiViews
  </Directory>
  RailsEnv staging
  Alias /blog /webapps/blog/current
 <Directory /webapps/blog/current>
   allow from all
   Options +Indexes
 </Directory>

你知道为什么这不起作用吗?

我也试过了serverpath指令但没有成功。

你知道如何实现这个目标吗?

提前致谢。

2 个答案:

答案 0 :(得分:3)

使用AliasMatch代替Alias

AliasMatch ^/bar/?(.*) /var/www/bar/$1

或者,在您的情况下:

AliasMatch ^/blog/?(.*) /webapps/blog/current/$1

答案 1 :(得分:0)

您是否考虑过使用其他单独的子域名,例如bar.foo.com用于其他应用程序?

以下是您如何设置的:

<VirtualHost *:80>
    ServerAdmin webmaster@foo.com
    DocumentRoot /var/www/foo
    ServerName foo.com
    ServerAlias foo.com www.foo.com
    ErrorLog logs/foo.com_Error_Log
</VirtualHost>
<VirtualHost *:80>
    ServerAdmin webmaster@foo.com
    DocumentRoot /var/www/bar
    ServerName bar.foo.com
    ErrorLog logs/bar.foo.com_Error_Log
</VirtualHost>