Larvis
@Larvis
Fullstack Web developer.

Как установить Laravel на сервере в подпапке?

Задача немного нетривиальна, поиски не дали вразумительных ответов.

Имеем: Web-сервер на ubuntu, на борту Apache и PHP 7.
Сам сервер не имеет доменного имени, только ip адрес вида 192.168.100.8
На нём в своё время ставилось много проектов, и в конечном итоге структура выглядит вот так:

192.168.100.8
var/www/html:
  • Project1
  • Project2
  • Project3
  • MyLaravel

А также проект на Laravel, он лежит в папке MyLaravel.

Итак сам вопрос:
При обращении к проекту 192.168.100.8/MyLaravel, приходит ответ от проекта что URL не найден.
Но при обращении к 192.168.100.8/MyLaravel/Public всё более-менее работает.
Как с минимальным затратами заставить работать проект нормально?
Возможно я что то упустил в .htaccess или всё же нужно делать сервер "по уму"?
  • Вопрос задан
  • 337 просмотров
Решения вопроса 1
Larvis
@Larvis Автор вопроса
Fullstack Web developer.
Натолкнулся ещё на кое-какие мысли, возможно кому то в будущем это очень сильно поможет.

В корневой папке нужно сменить имя файла server.php на index.php
и там же вставить код ниже в файл .htaccess.

Но после такого всё ещё едет вёрстка, скорее всего нужно что то переносить из папки public.

Код файла .htaccess

Options -MultiViews -Indexes

 

RewriteEngine On

 

# Handle Authorization Header

RewriteCond %{HTTP:Authorization} .

RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

 

# Redirect Trailing Slashes If Not A Folder...

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_URI} (.+)/$

RewriteRule ^ %1 [L,R=301]

 

# Handle Front Controller...

RewriteCond %{REQUEST_URI} !(\.css|\.js|\.png|\.jpg|\.gif|robots\.txt)$ [NC]

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^ index.php [L]

 

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_URI} !^/public/

RewriteRule ^(css|js|images)/(.*)$ public/$1/$2 [L,NC]



Но всё же, лучше так не делать, а пинать админа настроить сервер с доменами.

UPD 2020: Крайне не советую так делать на проде, локально это ещё допустимо. Но лучше так не делать и работать нормально без костылей)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы