Существующий проект 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