2016-07-28 4 views
1

Ich habe eine Website, die ich vorübergehend auf meinem VPS hosten möchte, aber ich habe ein Problem festgestellt.Fehler beim Laden von Ressourcen auf dem Apache-Server

Nachdem die Datei '.conf' in 'sites-available' erstellt wurde und die Site aktiviert wurde, wurden zahlreiche Dateien nicht richtig verknüpft.

Hier ist meine Conf Konfiguration:

# domain: mynewsdesk.dev 
# public: /var/www/html/mynewsdesk.dev/public 

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    ServerName mynewsdesk.dev 
    ServerAlias www.mynewsdesk.dev 
    DirectoryIndex index.php 
    DocumentRoot /var/www/html/mynewsdesk.dev/ 
    ErrorLog /var/www/html/mynewsdesk.dev/public/logs/error.log 
    CustomLog /var/www/html/mynewsdesk.dev/public/logs/access.log 
    combined 
</VirtualHost> 

In Chrom-Inspektor, ich sehe ‚fehlgeschlagen Ressource laden: der Server mit einem Status von 404 geantwortet (Not Found)‘ von Pfaden gefolgt, die eindeutig sind falsch, zum Beispiel: http://45.79.67.59/mynewsdesk.dev/css/main.css.php.

Welche Einstellungen sollte ich ändern, damit Dateien von 'mynewsdesk.dev/public/' anstelle von 'mynewsdesk.dev' gezogen werden?

Antwort

1

Ändern Sie Ihre DocumentRoot zu /var/www/html/mynewsdesk.dev/public/. Wenn Sie über Skripts verfügen, die außerhalb dieses Verzeichnisses ausgeführt werden sollen, und Sie mod_rewrite aktiviert haben, können Sie einige Umschreibbedingungen und Regeln hinzufügen, um Dateien von public zurückzugeben und alle anderen Anforderungen an diese Skripts zu leiten.

Zum Beispiel in Ihrem vhost:

RewriteEngine on 

RewriteCond   %{DOCUMENT_ROOT}/public%{REQUEST_URI} -f 
RewriteRule ^(.+)$ %{DOCUMENT_ROOT}/public/$1 [L] 

RewriteRule ^(.*)$ index.php?$1 [NC,L,QSA] 
+0

Danke für die Hinweise, werde ich dies ein Schuss – Androbaut

+0

Gib die Follow-up: Die Arbeit wird großartig! Danke noch einmal – Androbaut