Ich bin kein Apache-Guru. Aber ich möchte meinen Server für Massen virtuelles Hosting mit CakePHP konfigurieren. Die Idee ist, dass wir in der Lage sein wird, auf einfache Weise mehrere Versionen derselben Anwendung auf Basis von Verzeichnisposition ein:Verwenden von mod_vhost_alias mit CakePHP (die mod_rewrite verwendet)
production.domain.com
testv1.domain.com
etc...
Also ich weiß, ich habe mod_vhost_alias funktioniert ganz gut. Ich habe ein Basisverzeichnis eingerichtet, in das ich eine Testindex.html-Datei (/ var/www/htdocs/cake/test/webroot) eingefügt habe. Wenn ich meinen Browser auf den Speicherort (test.domain.com) zeige, wird die index.html im Browser angezeigt. Mein vhost ist so konfiguriert% 1 aus der URL zu ziehen, um zu wissen, was Verzeichnis zu zeigen:
VirtualDocumentRoot /var/www/htdocs/cake/%1/webroot
Aber wenn ich meinen Browser auf den Kuchen Anwendung zeigen, erhalte ich eine Seite Fehler nicht gefunden. Ich vermute, dass es etwas mit dem mod_rewrite in der .htaccess-Datei zu tun hat. Hier sind die vollständigen Konfigurationen für beide:
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>
Haben Sie Ideen, wie sie zusammenarbeiten?