10

同じサーバーで 2 つのアプリケーションを実行していますが、1 つを 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>

これが機能しない理由を知っていますか?

serverpath ディレクティブも試しましたが、成功しませんでした。

これを達成する方法を知っていますか?

前もって感謝します。

4

2 に答える 2

3

AliasMatchの代わりに使用Alias:

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

または、あなたの場合:

AliasMatch ^/blog/?(.*) /webapps/blog/current/$1
于 2013-11-01T22:22:04.940 に答える
0

Have you considered using another separate subdomain, like bar.foo.com for your other application?

Here's how you'd set that up:

<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>
于 2014-09-10T18:23:53.633 に答える