Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 Re: Laravel 5.x » Как создать путь в роуте с index.php? » 03.04.2016 12:17:09

да, я создавал уже страницу в resources/views/errors/404.blade.php но в данному случаи браузер говорит "Сайт пока не может обработать этот запрос"
В чем может быть причина?

#2 Re: Laravel 5.x » Как создать путь в роуте с index.php? » 03.04.2016 00:14:18

вообщем все получилось но теперь другой вопрос возник.
Как бы мне в данном случаи свою собственную страницу ошибки отобразить?
У меня она уже есть, я её прописывал в handler.php

#3 Re: Laravel 5.x » Как создать путь в роуте с index.php? » 02.04.2016 23:04:58

if ((strpos($_SERVER['REQUEST_URI'], 'index.php')) == 'false') {
   abort(404);
}

вот так заработало.

#4 Re: Laravel 5.x » Как создать путь в роуте с index.php? » 02.04.2016 22:49:12

ваша строка делает так что index.php не проходят, а без него работает. Кстати, главная страница должна быть исключением и работать без index.php то есть просто /

#5 Re: Laravel 5.x » Как создать путь в роуте с index.php? » 02.04.2016 15:31:38

сейчас заметил что через index.php  и так (по умолчанию) работает.....)


То есть в итоги мне нужно только сделать так чтоб не работало без index.php? а как перехватить все запросы без index.php?

#6 Re: Laravel 5.x » Как создать путь в роуте с index.php? » 02.04.2016 15:25:46

AlexeyMezenin пишет:

Если трафика немного или есть возможность поправить купленные ссылки, то лучше по-человечески сделать и подождать переиндексации.

Если это не вариант, то можно тупо использовать URL вида

site.com/index.php/my/page/

В таком случае index.php просто будет убран из адреса и routes можно использовать стандартные -

'/my/page'

Правда в таком случае придется вручную везде добавлять index.php/ при построении ссылок

<link href="{{ $indx.'css/myStyleSheet.css' }}" ....>

Еще, я бы прописал в главном контроллере или middleware проверку на присутствие index.php в URL. Если index.php нет, то принудительно редиректить на 404. Если этого не сделать, ПС могут дубли найти и наложить санкции.


В том то и дело что уже и трафик есть и ссылки не поменять)
Может быть это можно сделать через файл htaccess?

#7 Re: Laravel 5.x » Как создать путь в роуте с index.php? » 02.04.2016 15:23:21

когда в роуте прописываю вот так  Route::get('/index.php/{slug}', 'IndexController@post');
Отображается в браузере No input file specified.

#8 Re: Laravel 5.x » Как создать путь в роуте с index.php? » 02.04.2016 12:29:22

Я переношу сайт с joomla. сайт уже проиндексирован и имеет трафик с поиска поэтому важно сохранить адреса.  Нужно чтоб все страницы шли через index.php, по примеру mysite.com/index.php/....
Подскажите пожалуйста решение!

#9 Re: Laravel 5.x » Как создать путь в роуте с index.php? » 02.04.2016 12:03:37

не понял что вы имеете ввиду. можно подробней?

#10 Laravel 5.x » Что нужно сделать в продакшен версии? » 02.04.2016 12:02:36

Romannnn
Ответов: 0

После того как сайт полностью готов и опубликован на хостинг что нужно сменить?

1) в env сменить APP_ENV=production и APP_DEBUG=false

Это все или еще что-то ?

#11 Laravel 5.x » Как создать путь в роуте с index.php? » 29.03.2016 21:37:12

Romannnn
Ответов: 14

Мне нужно такой путь сделать index.php/название поста.
Но когда в роуте прописываю вот так  Route::get('/index.php/{slug}', 'IndexController@post');
Отображается в браузере No input file specified.

Скажите как настроить htaccess? или это не в нём дело!

#12 Laravel 5.x » Страница 404 » 20.03.2016 14:22:22

Romannnn
Ответов: 2

Как сделать так чтоб страница ошибки в Laravel 5 перед тем как отобразится проходила через контроллеры? Иначе говоря мне нужно чтоб страница 404 перед отображением получила значение из БД для того чтоб их потом отобразить.

Или как проверить наличие маршрута в роутах?

#14 Re: Laravel 5.x » Как убрать public из адреса? » 17.03.2016 15:16:25

мой хостинг не даёт такую возможность, класть что-либо выше публичной папки

#15 Re: Laravel 5.x » Как убрать public из адреса? » 17.03.2016 14:08:37

Не понял что вы имеете ввиду. поясните пожалуйста.

#16 Laravel 5.x » Как убрать public из адреса? » 17.03.2016 13:03:11

Romannnn
Ответов: 9

Опубликовал сайт на хостинге.
Прописал такое вот в корневом файле htaccess,
RewriteEngine On
DirectoryIndex /public/index.php
#RewriteRule ^(.+) $1 [L]
#RewriteCond %{DOCUMENT_ROOT}/public%{REQUEST_URI} -f
#RewriteRule ^(.+) /public/$1 [L]
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]


В файле папке public в файле htaccess прописано такое
<IfModule mod_rewrite.c>
    Options +SymLinksIfOwnerMatch
    RewriteEngine On
    # Redirect Trailing Slashes...
    RewriteRule ^(.*)/$ /$1 [L,R=301]
    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

Сейчас все отлично работает и без public, но с public  тоже работает и все страницы сайта таким образом дублируются. Вопрос в том как отключить дублирование адресов с public. ?!?

#17 Laravel 5.x » Не работает пагинация! » 17.03.2016 00:29:48

Romannnn
Ответов: 2

Работала, но почему-то что-то нарушилось... хз, может что-то сбилось.
Вот код
    public function index()
    {
       $this->data['post'] = \App\post::where(['active' => '1'])->orderBy('rating','desc')->take(9)->get();
       $this->data['postpaginate'] = \App\post::where(['active' => '1'])->orderBy('rating','desc')->paginate(9);
       return view('app.index', $this->data);
    }
$this->data['postpaginate'] - сюда все нормально приходит.

В шаблоне

div class="paginate">
@foreach ($postpaginate as $item)
{{ $item->name }}
@endforeach

<?php echo $postpaginate->render(); ?>
</div>


Кнопки пагинации появляются и столько сколько нужно, но при переходе на любую из страниц отображаются данные с первой страницы. Так было не всегда, она была настроена и работала хорошо, затем что-то видимо случайно пошло не так и теперь не работает.

#18 Re: Laravel 5.x » Ребята, как прочесть массив в шаблоне. » 05.03.2016 19:18:12

Все решено! Всем спасибо! Модераторы удалите тему!

#19 Laravel 5.x » Ребята, как прочесть массив в шаблоне. » 05.03.2016 17:58:39

Romannnn
Ответов: 2

Я получаю значение в массив, так вот
  $this->data['game'] = \App\game::where(['active' => '1','slug' => $slug])->take(1)->get();
       return view('index', $this->data);


В шаблоне хочу получить значение путём {{ $game->title }} и т.д. выходит ошибка.

Для того чтоб получить нужно только через форыч прогонять. тогда норм.

Хотя смотрю некоторые сразу получают значение из массива без форыча, почему у меня не получается?
Всем спасибо за ответы!

#21 Laravel 5.x » Как установить куку? » 01.03.2016 20:52:27

Romannnn
Ответов: 2

Для установки использую код
public function cook() {
$response = new \Illuminate\Http\Response();
$response->withCookie(cookie('Test', 'test', '83488'));     
return view('welcome');
}


Мне для установки нужно её в return вставить. Вопрос в том как это прописать если там еще view нужно вставить.

Подвал раздела