2017-10-11 2 views
0

Suche nach den letzten 3 Tagen über die Konfiguration Laravel 5.4 auf meinem Linux-Mint-18.2-System läuft Apache 2.4. Wenn Apache Server startet und ich manuell localhost in den Browser eintippe, zeigt es die Standard-Homepage von Laravel, aber wenn ich versuche, es durch Live-Vorschau in Klammern zugreifen (live Vorschau Basis-URL: http://localhost als meine Laravel-Projekt-Pro liegt in/var/www/html /), aber es wirft einen internen Serverfehler auf, der den Fehlern in meiner Apache-Konfiguration entspricht. Hier stelle ich meine .htaccess-Datei 000-default.conf-Datei im sites-aktivierten Verzeichnis von apache2 und apache2 vor. conf Dateien: Eine wichtige Sache: i pro mein Projektordner bekam unter/var/www/html/Nichts zugänglich in meinem Laravel-Projekt außer der Homepage

1. 000-default.conf(sites-enabled) 


<VirtualHost *:80> 

    ServerName localhost 

    ServerAdmin [email protected] 
    DocumentRoot /var/www/html/pro/public 

    <Directory /var/www/html/pro/public> 
    Options Indexes +FollowSymLinks 
    AllowOverride All 
    Require all granted 
    </Directory> 

    ErrorLog ${APACHE_LOG_DIR}/error.log 
    CustomLog ${APACHE_LOG_DIR}/access.log combined 

</VirtualHost> 


2. apache2.conf 



Mutex file:${APACHE_LOCK_DIR} default 
    PidFile ${APACHE_PID_FILE} 
    Timeout 300 
    KeepAlive On 
    MaxKeepAliveRequests 100 
    KeepAliveTimeout 5 
    User ${APACHE_RUN_USER} 
    Group ${APACHE_RUN_GROUP} 
    HostnameLookups Off 

    ErrorLog ${APACHE_LOG_DIR}/error.log 

    LogLevel warn 

    IncludeOptional mods-enabled/*.load 
    IncludeOptional mods-enabled/*.conf 

    Include ports.conf 

    <Directory /> 
    Options FollowSymLinks 
    AllowOverride None 
    Require all denied 
    </Directory> 

    <Directory /usr/share> 
    AllowOverride None 
    Require all granted 
    </Directory> 

    <Directory /var/www/html/> 
    Options Indexes FollowSymLinks 
    AllowOverride None 
    Require all granted 
    </Directory> 

    AccessFileName .htaccess 

    <FilesMatch "^\.ht"> 
    Require all denied 
    </FilesMatch> 

    IncludeOptional conf-enabled/*.conf 
    IncludeOptional sites-enabled/*.conf 
    Include /etc/phpmyadmin/apache.conf 

    3 .htaccess (/var/www/html/pro/public/.htaccess) 



<IfModule mod_rewrite.c> 
    <IfModule mod_negotiation.c> 
     Options -MultiViews 
    </IfModule> 
    RewriteEngine On 
    RewriteBase /var/www/html/pro/public/ 

    # Redirect Trailing Slashes If Not A Folder... 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)/$ /$1 [L,R=301] 

    # Handle Front Controller... 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule^index.php [L] 

    # Handle Authorization Header 
    RewriteCond %{HTTP:Authorization} . 
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 
</IfModule> 

danke vor der Hand!

+0

hast du dir laravel project von diesem cmd :: php artisan serve bedient? –

+0

@GauravGupta Ja, ich habe das getan, bevor ich diese Frage selbst gepostet habe! und das ist der einzige Grund, warum ich meine Homepage laufen sehen kann und nichts anderes – acaman

Antwort

0

Alle Routen sind nach index.php verfügbar. Wenn die URL Ihrer Route abc ist, wird sie als http://localhost/index.php/abc geöffnet. Jetzt müssen Sie nichts mehr in der .htaccess-Datei ändern.

Gehen Sie zu Ihrem Projekt Wurzel und geben die Lese- Schreibrechte ausführen, so dass Laravel können die Datei innerhalb Bootstrap/cache Verzeichnis und in der Lage cachen Ihre Protokolle Datei in Speicher/logs Verzeichnis zu erstellen.

sudo chmod -R 777 bootstrap/cache 
sudo chmod -R 777 storage/logs 

Wenn Ihr Projekt danach auch nicht ausgeführt wurde, müssen Sie diese Berechtigung auch manchmal angeben.

sudo chmod -R 777 vendor/ storage/ 

Führen diese drei Befehle nach dem

sudo a2ensite 000-default.conf 
sudo a2enmod rewrite 
sudo service apache2 restart 

sollten Sie die Strecke nach localhost serviert werden.

Hoffe das wird helfen :)

+0

das half :) – acaman

+0

Froh, zu helfen :) – Vikash

+0

upvote diese Antwort auch, es könnte anderen auch helfen, da es ein häufiges Problem ist: P, es kann viel sparen Zeit. Ich bin auch so oft hier steckengeblieben :) – Vikash

0

Versuchen Sie, Lese- und Schreibberechtigungen für Ihren Speicher- und Bootstrap-Ordner in Laravel zu erteilen. Richten Sie auch virtuelle Hosts ein, wenn Sie können. Siehe here.

Verwandte Themen