我不是阿帕奇大师。但我想使用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
但是当我将浏览器指向蛋糕应用程序时,我发现找不到页面错误。我怀疑它与.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>
任何想法如何让他们一起工作?
答案 0 :(得分:1)
原来所需要的只是:
DirectoryIndex index.html index.php