У меня есть проект dev.ru.
Я залил в папку dev.ru/lara проект с laravel. Но проблема в том, что сам laravel будет доступен, только если зайти в dev.ru/lara/public.
Как сделать так, чтобы он был доступен по ссылке dev.ru/lara?
Пробовал класть htaccess в папку dev.ru/lara, который перенаправляет в public, но когда переходишь на dev.ru/lara laravel пишет not found. И laravel думает, что сейчас путь /lara. А должен /.
И получается надо всем роутам делать префикс /lara, но тогда ссылки на стили получаются неправильными. Стили подключаю через asset()
.
Пример: есть openserver в нем домен dev.ru, в нем разные проекты, в том числе laravel в папке lara, при такой структуре сайт будет доступен по адресу dev.ru/lara/public/ http://joxi.ru/52agj8XH4DPo9r
В общем можно ли установить Laravel в подпапку и при этом не было в ссылках public?
asset()
, чтобы она сама добавляла public/ файлам.У меня еще возникли проблемы с laravel-filemanager. Он подключает картинки через url()
вместо asset()
. И если заходить на dev.ru/lara4/laravel-filemanager, то превью картинок не загружалось, но сам filemanager работал. А если заходить на dev.ru/lara4/public/laravel-filemanager, то превью загружалось.
сделал define('PUBLIC_FIX',true); чтобы перенаправлять filemanager на public
index.php:
<?php
define('PUBLIC_FIX',true);
function asset($path, $secure = null)
{
return app('url')->asset('public/'.trim($path,'/'), $secure);
}
require_once __DIR__ . '/public/index.php';
admin.blade.php
<script type="text/javascript">
window.file_manager_url = '{{defined("PUBLIC_FIX") ? url('/public') : url('/')}}'
</script>
В итоге можно заходить как на dev.ru/lara как и на dev.ru/lara/public.
Если заходить на dev.ru/lara/public то файл сверху подключаться не будет.
2 Способ избавиться от publicЧтобы окончательно избавиться от public лучше всего настроить apache. В openserver можно настроить так:
Alias /lara/ "%sprogdir%/domains/dev.ru/lara/public/"
<Directory "%sprogdir%/domains/dev.ru/lara/public/">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
</Directory>
public/.htaccess после RewriteEngine On
RewriteBase /lara
В корневой директории создайте файл .htaccess
и напишите в нем следующее.
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^(.*)$ public/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть парсер, при появлении капчи должен ее ловить
Create React App is a comfortable environment for learning React, and is the best way to start building a new single-page application in React
Все приветПодскажите пожалуйста как сделать проверку на отказ добавления с определенного ip посредством PHP