Apache别名虚拟主机

Apache别名虚拟主机,apache,virtualhost,mod-alias,Apache,Virtualhost,Mod Alias,我有两个应用程序在同一台服务器上运行,我希望从url中的子路径提供一个应用程序(即: foo.com->/var/www/foo foo.com/bar->/var/www/bar 我正在尝试使用别名,但不起作用: <VirtualHost *:80> ServerAdmin webmaster@foo.com ServerName foo.com DocumentRoot /webapps/foo/current/public <Directory /we

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

  • foo.com->/var/www/foo
  • foo.com/bar->/var/www/bar
我正在尝试使用别名,但不起作用:

<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>

服务器管理员webmaster@foo.com
ServerName foo.com
DocumentRoot/webapps/foo/current/public
允许超越所有
选项-多视图
RailsEnv分期
别名/blog/webapps/blog/current
通融
选项+索引

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

我还尝试了serverpath指令,但没有成功

你知道如何做到这一点吗


提前感谢。

使用
别名匹配
而不是
别名

AliasMatch ^/bar/?(.*) /var/www/bar/$1
或者,在您的情况下:

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

您是否考虑过为其他应用程序使用另一个单独的子域,如
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>

服务器管理员webmaster@foo.com
DocumentRoot/var/www/foo
ServerName foo.com
ServerAlias foo.com www.foo.com
错误日志/foo.com\u错误日志
服务器管理员webmaster@foo.com
DocumentRoot/var/www/bar
ServerName bar.foo.com
错误日志/bar.foo.com\u错误日志

您的虚拟主机是否正常工作?因为如果你需要通过
www.
以及域的根来访问它,我会说你需要一个
ServerAlias www.foo.com
在那里…另外,两个应用程序都使用了
mod_rewrite
ing吗?哦,对不起,实际上地址没有www。我在帖子上修复了这个问题。virtualhost正在运行,我可以访问它,但如果我转到/blogs/it,它将什么也不做。两个应用程序的.httaccess中都有mon_rewrite,您得到了什么?404?Apache日志中有什么内容?您是否在重写
/blogs
目录的规则时使用了
[PT]
?我得到了一个由/var/www/foo处理的404。我没有[PT]重写规则。事实上,我没有重写/博客。。。我在用它做其他事情。我需要重写和别名才能工作吗?