我有两个应用程序在同一个服务器上运行,我希望从url(即)中的子路径提供一个:
我正在尝试使用别名但不起作用:
<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指令但没有成功。
你知道如何实现这个目标吗?
提前致谢。
答案 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>