1

私はアパッチの達人ではありません。しかし、CakePHP を使用して大規模な仮想ホスティング用にサーバーを構成したいと考えています。アイデアは、ディレクトリの場所に基づいて、同じアプリケーションの複数のバージョンを簡単にセットアップできるようにすることです。

production.domain.com
testv1.domain.com
etc...

したがって、mod_vhost_alias が正常に機能していることはわかっています。テスト用の index.html ファイル (/var/www/htdocs/cake/test/webroot) を追加した基本的なディレクトリをセットアップしました。ブラウザーでその場所 (test.domain.com) を指定すると、index.html がブラウザーに表示されます。私の vhost は、URL から %1 を取得して、どのディレクトリを指すかを知るように構成されています。

VirtualDocumentRoot /var/www/htdocs/cake/%1/webroot

しかし、ブラウザで Cake アプリケーションを指定すると、ページが見つからないというエラーが表示されます。.htaccess ファイルの mod_rewrite と関係があると思われます。両方の完全な構成は次のとおりです。

mod_vhost_alias (in .conf file)

<VirtualHost *:80>
ServerAlias *
UseCanonicalName Off
VirtualDocumentRoot /var/www/htdocs/cake/%1/webroot
<Directory /var/www/htdocs/cake/%1/webroot>
  AllowOverride All
  Order allow,deny
  Allow from all
</Directory>
</VirtualHost>

.htaccess (in webroot - default as it comes from CakePHP)

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>

それらを連携させる方法はありますか?

4

1 に答える 1

1

必要だったのは次のとおりです。

DirectoryIndex index.html index.php
于 2010-12-15T18:03:03.427 に答える