2016-05-31 2 views
1

Я развернул проект Laravel 5.2 на хосте.Laravel 5.2 .htaccess и 500 внутренняя ошибка

Проект работает нормально на локальном компьютере, но получает ошибку 500 Internal Server Error, когда я развернул его на хосте из-за .htaccess файла!

Вот мой .htaccess файл:

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

P.S:

Требуемые PHP расширения для Laravel установлен и включен. Я также предоставил 775 разрешение на storage, но ничего не изменилось!

Любая помощь будет оценена положительно.

+0

Вы забыли свой пароль? –

ответ

0

Убедитесь, что у вас есть разрешение на использование файла .htaccess в этой папке, указав в директиве конфигурации сервера AllowOverride. (обычно httpd.ini).

Полное руководство: https://httpd.apache.org/docs/2.4/mod/core.html#allowoverride

Проверьте, установлен ли mod_rewrite и включена в вашем файле php.ini. Вот основные объяснение о том, как установить/включить mod_rewrite в Apache: https://stackoverflow.com/a/5758551/3435728

Edit:

Убедитесь, что вы прочитали permision на ваш файл .htaccess

0

может быть, не поддерживаемые возможности MultiViews

<IfModule mod_rewrite.c> 

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}] 

+0

Это не должно быть проблемой, если расширение проверяется в '' – CarlosCarucce

+0

, вы использовали общую папку на локальном сервере, например localhos/abc/public / –

0

Попробуйте сделать шаг ниже, насколько вы можете это сделать.

1. connect to hosting via SSH 

2. install composer 

3. in cpanel open Select PHP version and choose 5.4. (I also set phar extension) 

4. install laravel: php composer.phar create-project laravel/laravel myproject --prefer-dist 

5. copy everything from myproject/public to public_html 

6. open public_html/index.php and set: 

7. require __DIR__.'/../myproject/bootstrap/autoload.php'; 

8. $app = require_once __DIR__.'/../myproject/bootstrap/start.php'; 

для 7 и 8 шагов дают путь, где источник так, что файл найти, что файлы

Надежда это работает.