2016-07-28 12 views
0

Ich benutze Laravel 5 mit Standardverzeichnisstruktur. Für öffentliche Ordner von URL zu entfernen Ich verwende folgenden Code in .htaccessLaravel 5 .htaccess URL öffentlich Entfernen funktioniert nicht

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteRule ^(.*)$ public/$1 [L] 
</IfModule> 

ich xampp bin mit und meinem Weg ist wie folgt http://localhost/pro/laravel5/public

so mein Projekt in htdocs/pro/laravel5/hier ist I habe oben behalten .htaccess sonst ist alles Standard

wenn ich versuche, auf mein Projekt zuzugreifen, bekomme ich folgenden Fehler.

NotFoundHttpException in RouteCollection.php Linie 145:

in RouteCollection.php line 145 
at RouteCollection->match(object(Request)) in Router.php line 719 
at Router->findRoute(object(Request)) in Router.php line 642 
at Router->dispatchToRoute(object(Request)) in Router.php line 618 
at Router->dispatch(object(Request)) in Kernel.php line 210 
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request)) 
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 141 
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in VerifyCsrfToken.php line 43 
at VerifyCsrfToken->handle(object(Request), object(Closure)) in VerifyCsrfToken.php line 17 
at VerifyCsrfToken->handle(object(Request), object(Closure)) in Pipeline.php line 125 
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in ShareErrorsFromSession.php line 55 
at ShareErrorsFromSession->handle(object(Request), object(Closure)) in Pipeline.php line 125 
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in StartSession.php line 61 
at StartSession->handle(object(Request), object(Closure)) in Pipeline.php line 125 
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in AddQueuedCookiesToResponse.php line 36 
at AddQueuedCookiesToResponse->handle(object(Request), object(Closure)) in Pipeline.php line 125 
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in EncryptCookies.php line 40 
at EncryptCookies->handle(object(Request), object(Closure)) in Pipeline.php line 125 
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in CheckForMaintenanceMode.php line 42 
at CheckForMaintenanceMode->handle(object(Request), object(Closure)) in Pipeline.php line 125 
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) 
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 101 
at Pipeline->then(object(Closure)) in Kernel.php line 111 
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 84 
at Kernel->handle(object(Request)) in index.php line 53 

Wie kann ich diese jeden Vorschlag zu lösen, bin ich irgendwelche Dinge in .htaccess fehlen lassen Sie mich wissen. Und ich möchte nicht die zweite Option zum Verschieben von Dateien und Ordner verwenden.

Antwort

0

Hey wie du .htaccess und Index Datei auf Ihren Root-Pfad dann in Ihrer .htaccess-Datei Verwendung Öffentlichkeit kopieren

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteRule ^(.*)$ public/$1 [L] 
</IfModule> 

dann index.php thtz alle :)

require __DIR__.'/laravel5/bootstrap/autoload.php'; and 
$app = require_once __DIR__.'/laravel5/bootstrap/app.php'; 
+0

Dies zeigt Fehler auf ungültigen Pfad. – user2293790

+0

hey move .htaccess, index und web.config Dateien Ihren Projektpfad und ändern Sie die Art, wie ich oben erwähnt habe ich für Sie versucht, es funktioniert für mich – Hamelraj

-2

Alles, was Sie tun müssen, ist

die server.php im Ordner Wurzel Ihr Laravel Projekt umbenennen index.php zu

Kopieren Sie die .htaccess-Datei aus /public Verzeichnis auf Ihren Laravel Stammordner.

Und das ist es nun Ihr Projekt in Ihrem Browser wird live wie pro/laravel5/

+0

versuchen diese Option CSS-Pfad ist nicht ordnungsgemäß mit Asset-Funktion. – user2293790

+0

hast du irgendein Update dafür. – user2293790

+0

CSS-Pfad wird funktionieren, müssen Sie es richtig verknüpfen. Setze alle deine Assets in den öffentlichen Ordner und verlinke sie dann über {{asset ('yourCss.css')}} –