wake-up-neo.net

Apache2 "pseudo" doc root

Ich habe mehrere Ordner in meinem/www-Ordner, die verschiedene Anwendungen enthalten. Um die Dinge zu organisieren, behalte ich sie in eigenen Ordnern - dazu gehört auch meine Basisanwendung.

Beispiele:

  1. phpmyadmin =/www/phpmyadmin
  2. phpvirtualbox =/www/phpvirtualbox
  3. root domain site =/www/Landung

Der Grund, warum ich alle meine Websites trenne, ist, dass ich mich auf einigen dieser Websites (meiner Stammwebsite) aktiv entwickle und beim Veröffentlichen über Visual Studio vor dem Hochladen lösche - wenn ich die Zielseite in den Basisordner lege, wird sie gelöscht wäre für mich verheerend.

Mein Ziel ist es, dass ich auf www.example.com zu meiner Seite gehe. Wenn ich auf www.example.com/phpmyadmin gehe, funktioniert dies im Apache2-Ordner nicht:

<Location "/"> # Error is the "/"
  Allow from all
  Order allow,deny
  MonoSetServerAlias domain
  SetHandler mono
  SetOutputFilter DEFLATE
  SetEnvIfNoCase Request_URI "\.(?:gif|jpe?g|png)$" no-gzip dont-vary
</Location>
<IfModule mod_deflate.c>
   AddOutputFilterByType DEFLATE text/html text/plain text/xml text/javascript
</IfModule>

Wenn ich den Speicherort in "/ Other" ändere, ist die Basiswebsite beschädigt und die Aliase für die anderen Websites werden wiederhergestellt. Wenn es "/" ist, funktioniert die Basis-Site und es funktionieren keine Aliase.

Was könnte ich tun, damit es mein/www/Landing als mein Webroot behandelt, aber wenn ich zu einem Alias ​​gehe, GEHT es zu dem Alias.

Bearbeiten: In den Standard-VirtualHost-Informationen hinzugefügt.

DocumentRoot /var/www
<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName www.example.com

ExpiresActive On
ExpiresByType image/gif A2592000
ExpiresByType image/png A2592000
ExpiresByType image/jpg A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType text/css "access plus 1 days"

  MonoServerPath domain "/usr/bin/mod-mono-server4"
  MonoDebug domain true
  MonoSetEnv domain MONO_IOMAP=all
  MonoApplications domain "/:/var/www/Landing"

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule (.*) /Landing/$1 [L]


#Need to watch what the Location is set to. Can cause issues for alias
<Location "/">
  Allow from all
  Order allow,deny
  MonoSetServerAlias domain
  SetHandler mono
  SetOutputFilter DEFLATE
  SetEnvIfNoCase Request_URI "\.(?:gif|jpe?g|png)$" no-gzip dont-vary
</Location>
<IfModule mod_deflate.c>
  AddOutputFilterByType DEFLATE text/html text/plain text/xml text/javascript
</IfModule>

    ErrorLog ${Apache_LOG_DIR}/error.log

    LogLevel warn
    CustomLog ${Apache_LOG_DIR}/access.log combined
</VirtualHost>
1
Brent

Ich habe keine Erfahrung mit Mono, aber es scheint, dass die anderen Sites funktionieren sollten, wenn Sie den Standort als / belassen, aber nur die Basis-Site würde funktionieren, wenn Sie den Standort als /Landing festlegen.

Die meisten Leute würden einfach den Ort als / belassen und mod_rewrite verwenden, um nicht-phpmyadmin- oder -phpvirtualbox-Anforderungen dem /Landing/ -Verzeichnis zuzuordnen, z.

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) /Landing/$1 [L]
1
Lèse majesté