2013-04-11 7 views
10

Próbuję ustawić witrynę na żywo. Witryna działa doskonale na serwerach działających na żywo, których używaliśmy do wyświetlania witryny klientowi. Oto .htaccess z żywych dev (działa poprawnie):Laravel htaccess wydanie

<IfModule mod_rewrite.c> 
    Options +FollowSymlinks 
    RewriteEngine On 

    #RewriteCond %{HTTPS} !=on 
    #RewriteCond %{HTTP_HOST} !^www\..+$ [NC] 
    #RewriteRule^http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

    # Rewrite to 'public' folder 
    RewriteCond %{HTTP_HOST} ^livedev.domain.com$ 
    RewriteCond %{REQUEST_URI} !public/ 
    RewriteRule (.*) public/$1 [L] 
</IfModule> 
AuthType Basic 
AuthName "dev16" 
AuthUserFile "/home/site/.htpasswds/public_html/passwd" 
require valid-user 

A oto .htaccess od miejsca zamieszkania:

<IfModule mod_rewrite.c> 
    Options +FollowSymlinks 
    RewriteEngine On 

    #RewriteCond %{HTTPS} !=on 
    #RewriteCond %{HTTP_HOST} !^www\..+$ [NC] 
    #RewriteRule^http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

    # Rewrite to 'public' folder 
    RewriteCond %{HTTP_HOST} ^livesite.co.uk$ 
    RewriteCond %{REQUEST_URI} !public/ 
    RewriteRule (.*) public/$1 [L] 
</IfModule> 

2 są identyczne z wyjątkiem HTTP_HOST i usunięciu poświadczenie.

Daje mi ogólny "Wewnętrzny błąd serwera".

Próbowałem usunąć zawartość .htaccess, która po prostu daje mi stronę nie znaleziono, więc problem zdecydowanie leży w .htaccess.

Łączna .htaccess virgin, jakie kroki mogę podjąć, aby znaleźć przyczynę problemu?

Dzięki

(To laravel 3.2.13)

+1

'Opcje + FollowSymlinks' wymagają ustawienia' AllowOverride' na wartość 'Options' lub wyżej. usuń tę linię, a następnie powiedz nam, co się dzieje. –

+0

Po usunięciu tej linii dostaję 404 – Fraser

+0

To lepiej. To o 96 mniej niż poprzednie! sprawdź dziennik błędów apache i zobacz, który plik został zmapowany. –

Odpowiedz

7

Użyj na tym samym poziomie/public

ten sposób najpierw przekierowanie do publicznej

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^domain.com$ [NC,OR] 
RewriteCond %{HTTP_HOST} ^www.domain.com$ 
RewriteCond %{REQUEST_URI} !public/ 
RewriteRule (.*) /public/$1 [L] 

i wewnątrz/publiczny

wtedy obsługiwać index.php

<IfModule mod_rewrite.c> 
    Options +FollowSymLinks 
    RewriteEngine On 
</IfModule> 


<IfModule mod_rewrite.c> 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)$ index.php/$1 [L] 
</IfModule> 
+0

Dodanie ukośnika przed index.php działało dla mnie. RewriteRule^(. *) $ /index.php/$1 [L] –

0

miałem dokładnie taką samą konfigurację jak RamiroRS answer, ale wciąż mam wewnętrzny błąd serwera. Mój problem dotyczył uprawnień do plików. Foldery powinny mieć wartość 0755, a pliki 0644.