Подтвердить что ты не робот

Проблема с Laravel htaccess

Я пытаюсь установить сайт вживую. Сайт отлично работает на реальном сервере dev, который мы использовали, чтобы показать сайт клиенту. Вот htaccess от живого разработчика (отлично работает):

<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

И вот .htaccess с сайта:

<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 идентичны, за исключением HTTP_HOST и удаления аутентификации.

Он дает мне общую "внутреннюю ошибку сервера".

Я попытался удалить содержимое .htaccess, которое просто дает мне страницу не найденной, поэтому проблема определенно лежит в .htaccess.

Общее .htaccess virgin, какие шаги я могу предпринять, чтобы найти причину проблемы?

Спасибо

(Это Laravel 3.2.13)

4b9b3361

Ответ 1

Использовать на том же уровне /public

Этот путь сначала перенаправляется на общедоступный

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

И внутри/публично

тогда вы обрабатываете 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>

Ответ 2

У меня была точно такая же настройка, как ответ RamiroRS, но по-прежнему получена внутренняя ошибка сервера. Моя проблема была в разрешении файлов. Папки должны быть 0755 и файлы 0644.