2016-04-19 3 views
1

Ich versuche, eine dynamische Entwicklungsumgebung mit virtuellen Host zu machen. Jetzt habe ich:Dynamic Virtual Host gibt 500 Fehler mit Laravel

<VirtualHost *:80> 
    UseCanonicalName Off 
    VirtualDocumentRoot "C:\xampp\htdocs\%1\public" 
    # available aliases to use 
    ServerAlias *.dev 
</VirtualHost> 

Und es funktioniert für die Standardroute von Laravel:

Route::get('/', function() { 
    return view('home.index'); 
}); 

Aber jeder anderen Weg, mir zu vielen internen Umleitungen einen 500 Fehler geben. Ich benutze Laravel 5.2 ohne irgendwelche Änderungen außer für die routes.php und einige Standardänderungen.

Wenn ich ordnen Sie die Domain wie diese als Virtual alles ganz gut funktioniert:

<VirtualHost *:80> 
    ServerName example.dev 
    VirtualDocumentRoot none 
    DocumentRoot "C:\xampp\htdocs\example\public" 
</VirtualHost> 

Wie kann ich dieses Problem beheben, so kann ich dynamische Domain-Namen verwenden, damit ich nicht alle Domänen manuell hinzufügen .

Vielen Dank im Voraus, Stefan Fransen

bearbeiten

Als ich diese verwenden:

http://example.dev/index.php/test 

Die Seite korrekt geladen ist, aber das ist nicht das, was ich will. Also, wie entferne ich die index.php von der URL? Ich habe überprüft und al-Module richtig dies ist mein .htaccess geladen:

<IfModule mod_rewrite.c> 
    <IfModule mod_negotiation.c> 
     Options -MultiViews 
    </IfModule> 

    RewriteEngine On 

    # 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> 

bearbeiten

Fand heraus, dass, wenn ich RewriteRule^index.php [L]-RewriteRule ^(.*)$ /index.php/$1 [L]

geändert

Aber ich verstehe immer noch nicht, Warum funktioniert es auf einem manuell hinzugefügten vhost, aber nicht auf einem dynamisch generierten vhost? Hat jemand dafür eine Erklärung?

+0

Überprüfung dieser Leitlinie ich es verwenden für Laravel http://stackoverflow.com/questions/27754367/how-to-setting-virtual-hosts-for-xampp-in-windows/27754990#27754990 –

+0

Vielen Dank für Ihr Kommentar, aber Sie verwenden VirtualHost, indem Sie jedes einzelne "Projekt" zum vhost hinzufügen. Dieser Teil hat an meinem Ende funktioniert, aber ich mag es nicht, sie manuell hinzuzufügen, weil es viele hinzufügen wird. Also stattdessen möchte ich jedes Verzeichnis zum Beispiel "Beispiel" auf "example.dev" beziehen dieser Teil funktioniert nicht Jet –

Antwort

0

Ich vermute, dass Sie das Modul umschreiben (mod_rewrite) deaktiviert ist. Überprüfen Sie es in apache.conf

Vielleicht Abschnitt Pretty URLs können Ihnen helfen. https://laravel.com/docs/5.1

+0

Danke, aber das würde mir eine 404/403 nicht 500 Fehler geben –