2016-06-22 23 views
2

Meine aktuellen .htaccess-Datei sieht wie folgt aus, um www.ipaddress und andernfalls Umleitung:Laravel 4 nach Hause

<IfModule mod_rewrite.c> 
    Options +FollowSymLinks 
    RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule^index.php [L] 
</IfModule> 

Ich habe Laravel 4 auf einem Ubuntu 14.04 Distribution installiert. Meine apache.config Datei sieht wie folgt aus:

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

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

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

Und meine 000-default.config sich wie folgt:

<VirtualHost *:80> 
ServerAdmin [email protected] 
DocumentRoot /var/www/public 
<Directory /var/www/public> 
    Options Indexes FollowSymLinks 
    AllowOverride All 
    Require all granted 
</Directory> 

Laravel installiert ist in/var/www Was ich jedoch erfahren, ist, dass, wenn Ich versuche, zur IP der Site zu navigieren (keine Domain angehängt). Ich werde umgeleitet zu www.ip_address zum Beispiel 178.1.2.3 würde mich auf www.178.1.2.3 umleiten lassen.

Mod_rewrite ist aktiviert. Ich habe keine Ahnung, warum das passiert.

Kann jemand helfen?

Dank

+0

Sieht aus wie eine primitive Rewrite-Logik. Aber da Websites normalerweise _not_ nicht durch eine IP-Adresse zugegriffen werden, tatsächlich normalerweise _cannot_ so adressiert werden kann, würde ich nicht das ein Problem betrachten. – arkascha

+2

wenn es umleitet, so ist es nicht neu schreiben Problem, das Problem mit der Umleitung. Wenn Sie zu: http://178.1.1.1 und als Ergebnis navigieren Sie befinden sich in www.178.1.1.1, also bedeutet es in Ihrem Code, wo es eine Umleitung passiert. Es ist kein Apache-Problem, es ist in Laravel App-Code. Sie müssen solchen Code finden, an den er weitergeleitet und kommentiert wird. Normale App darf nicht auf www.HOSTNAME umleiten, die Weiterleitung muss auf Web-Server-Ebene erfolgen, nicht auf App-Ebene. – num8er

+0

Sorry geklärt, es war kein Problem mit der IP-Adresse. Die Seite arbeitete glücklich über IP vor AllowOverride All meine Verwirrung –

Antwort

1

Wenn es umleiten, so dass es Problem nicht neu zu schreiben ist, das Problem mit dem Umleiten.

Wenn Sie navigieren zu: http://178.1.1.1 und als Ergebnis Sie sind in http://www.178.1.1.1 so bedeutet es in Ihrem Code irgendwo Umleitung passiert.

es ist nicht Apache Problem, es ist in Laravel App-Code.

es zu beweisen, Sie in /var/www/public/index.php nach <?php setzen können:

die($_SERVER['REQUEST_URI']); 

es Sie, dass Web-Server neu schreibt richtig zeigen wird.

Sie müssen solchen Code finden, wo es umleitet und kommentiert.

Normale App muss nicht auf www.HOSTNAME umleiten, die Umleitung muss auf Web-Server-Ebene erfolgen, nicht auf App-Ebene.

+1

Sie haben Recht, ich bin dumm, nicht realisiert zu haben. Als ich eine Domain anzeigte, funktionierte das alles zeitweise einwandfrei. Sorry für den Mist Fragenstapel, aber danke num8er für mich auf die Lösung –

+0

eigentlich ist es normal, Lösung für schnelle Probleme zu haben. Meine Antwort ist nicht nur für Sie nützlich, sondern auch für alle, die bei der Suche nach Lösungen für solche Situationen verloren haben. glücklich, dass ich hilfreich war. (: – num8er