2017-09-22 1 views
0

Ich weiß, dass diese Frage sehr gefragt ist, aber ich lese alle Fragen dazu, aber sie haben mein Problem nicht gelöst.Symfony 3, Domain Name zeigt Verzeichnisstruktur

Ich habe gerade eine Symfony 3 Web App installiert und ich folgte der Symfony server configuration documentation, nur um herauszufinden, dass die www.domain.com die Verzeichnisstruktur anzeigt!

Hier ist die Konfiguration, die ich von Datei /etc/apache2/sites-available/site.com.conf verwendet:

<VirtualHost *:80> 
ServerName domain.tld 
ServerAlias www.domain.tld 

DocumentRoot /var/www/project/web 
<Directory /var/www/project/web> 
    AllowOverride None 
    Order Allow,Deny 
    Allow from All 

    <IfModule mod_rewrite.c> 
     Options -MultiViews 
     RewriteEngine On 
     RewriteCond %{REQUEST_FILENAME} !-f 
     RewriteRule ^(.*)$ app.php [QSA,L] 
    </IfModule> 
</Directory> 


ErrorLog /var/log/apache2/project_error.log 
CustomLog /var/log/apache2/project_access.log combined 

ich die App sehen kann, wenn ich www.domain.com/web und www.domain.com/web/ gehen app.php

Ich möchte in der Lage sein, www.domain.com zu besuchen und die App zu sehen.

+0

welche Version von Apache laufen Sie? – LBA

+0

Server Version: Apache/2.4.18 (Ubuntu) auf Ubuntu 16.04 –

+0

Dann lesen Sie bitte auch das vollständige Dokument, das Sie anführen: Einige Dinge haben sich seit Apache 2.4 nach dem Dokument geändert. – LBA

Antwort

0

Ändern Sie die Zeile:

AllowOverride None 

, um das nächste:

AllowOverride All 

Remove Abschnitt <IfModule mod_rewrite.c> Und Standard .htaccess Datei Symfony verwenden.

Auch müssen Sie PHP als Modul für Ihre Apache einrichten. Achten Sie darauf, uncommented Linie in http.conf zu haben, das PHP-Modul geladen:

LoadModule php7_module libexec/apache2/libphp7.so 
+0

Ich habe alles versucht und es hat nicht funktioniert. PHP ist als ein Modul für Apache eingerichtet. –

+0

Können Sie 'http: // domain.tld/app_dev.php' testen? Was ist davon ausgegeben? –

+0

Es heißt "Sie dürfen nicht auf diese Datei zugreifen. Überprüfen Sie app_dev.php für weitere Informationen." was gut ist. Ich weiß nicht, was passiert ist, ich denke über die Neuinstallation von Apache –

0

Sie vermissen Ihre DirectoryIndex app.php oder DirectoryIndex dev_app.php in Ihrem Verzeichnis-Tag enthalten. Dies führt dazu, dass der Apache die app.php lädt, wenn eine Datei nicht angefordert wurde. https://httpd.apache.org/docs/2.0/mod/mod_dir.html

<Directory /var/www/project/web> 
    DirectoryIndex app.php 
    ... 
</Directory> 

Auch stellen Sie sicher, mod rewrite aktiviert ist. a2enmod rewrite Möglicherweise müssen Sie Sudo verwenden.

Eine letzte Anmerkung: Options -MultiViews sollte innerhalb der <Directory> für die ganze Zeit und nicht nur enthalten, wenn mod_rewrite aktiviert ist.