Существующий проект Laravel 4 дает 404 в браузере

Я пытаюсь настроить среду разработки на виртуальной машине с Ubuntu 14.04 LTS, используя Nginx и HHVM. Чтобы сделать это, я следовал за учебником здесь.

Это хорошо сочетается с новой установкой Laravel. Но когда я импортирую существующий проект Laravel 4 и пытаюсь открыть его на моем реальном компьютере (который будет служить клиентом под управлением Windows 7), при подключении к http: // на экране появляется ошибка 404 File Not Found. http://sav.savrichard.dev/. Я добавил это в файл hosts с правильным IP-адресом.

Виртуальная машина получает запрос и отвечает с ошибкой 404.

Как мне решить эту ошибку? Я довольно новичок в Ubuntu, поэтому я не совсем уверен, что не так.

Проект находится по адресу

/var/www/sav.savrichard.net

Конфигурация сервера выглядит следующим образом:

server {
    listen 80 default_server;

    root /var/www/sav.savrichard.net/public;
    index index.html index.htm index.php;

    server_name sav.savrichard.dev;

    access_log /var/log/nginx/localhost.sav.savrichard.dev-access.log;
    error_log  /var/log/nginx/localhost.sav.savrichard.dev-error.log error;

    charset utf-8;

    location / {
        try_files \$uri \$uri/ /index.php?\$query_string;
    }

    location = /favicon.ico { log_not_found off; access_log off; }
    location = /robots.txt  { log_not_found off; access_log off; }

    error_page 404 /index.php;      

    include hhvm.conf;

    # Deny .htaccess file access
    location ~ /\.ht {
        deny all;
    }
}

И файл hhvm.conf:

location ~ \.(hh|php)$ {
    fastcgi_keep_conn on;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

Изменить 1 (13-06-2014)
Я попытался выполнить новую установку с использованием другой виртуальной машины Ubuntu 14.04, но я получаю ту же ошибку при попытке получить доступ к корневому каталогу через localhost в браузере. Ошибка, как и в прошлый раз, 404 файл не найден.

Изменить 2 (13-06-2014)
По запросу roadmr, здесь есть записи в журналах доступа и ошибок.

Журнал доступа

Журнал доступа

Записи читаются так:
192.168.174.1 - - [13 / Jun / 2014: 10: 16: 45 -0700] "GET / HTTP / 1.1" 404 49 "-" "Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit / 537.36 (KHTML, подобный Gecko)

Журнал ошибок

Журнал ошибок

Да, журнал ошибок на самом деле пуст.

Изменить 3 (13-06-2014)
В файл хоста Ubuntu добавлена ​​та же запись, что и на компьютере с Windows. Тот же результат.

Изменить 4 (13-06-2014)
Возможно, полезно отметить, что локальный IP-адрес виртуальной машины Ubuntu - 192.168.174.130, а локальный компьютер под управлением Windows 7 - 192.168.2.105.

2 ответа

Я хотел бы попробовать возможное решение с вами сегодня. Отредактируйте ваш файл конфигурации. На try_files строка заменяет всю строку try_files $uri $uri/ /index.php?$query_string;

Нашли решение еще? это происходит потому, что скопированные файлы с другого компьютера дают разрешение 600 для файлов и папок. вам нужно изменить разрешение для файлов 644 и 755 для папок, за исключением папки приложения / хранилища (Laravel 4) и папки хранилища (для laravel 5), необходимо иметь разрешение 775.. эта строка ниже помогает мне.. я довольно уверен, что это вам тоже поможет.. Я использую Laravel 4.2, поэтому, если вы используете Laravel 5, измените путь к папке хранилища

sudo find /var/www/project_name \( -type d -exec chmod 755 -- {} + \) -o \( -type f -exec chmod 644 -- {} + \)
sudo chgrp -R www-data /var/www/project_name
sudo chmod -R 775 /var/www/project_name/app/storage
Другие вопросы по тегам