Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Мне нужно такой путь сделать index.php/название поста.
Но когда в роуте прописываю вот так Route::get('/index.php/{slug}', 'IndexController@post');
Отображается в браузере No input file specified.
Скажите как настроить htaccess? или это не в нём дело!
Не в сети
Route::get('/{slug}', ['as' => 'post.show', 'uses' => 'IndexController@post']);
такое сработает для просто сайт/{slug} и для сайт/index.php/{slug}
Не в сети
не понял что вы имеете ввиду. можно подробней?
Не в сети
Городить подобное при любом раскладе не нужно. Для чего именно вам нужен такой путь? Может быть вам посоветуют более элегантное решение проблемы.
Не в сети
Я переношу сайт с joomla. сайт уже проиндексирован и имеет трафик с поиска поэтому важно сохранить адреса. Нужно чтоб все страницы шли через index.php, по примеру mysite.com/index.php/....
Подскажите пожалуйста решение!
Не в сети
Если трафика немного или есть возможность поправить купленные ссылки, то лучше по-человечески сделать и подождать переиндексации.
Если это не вариант, то можно тупо использовать 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. Если этого не сделать, ПС могут дубли найти и наложить санкции.
Изменено AlexeyMezenin (02.04.2016 14:34:39)
Не в сети
когда в роуте прописываю вот так Route::get('/index.php/{slug}', 'IndexController@post');
Отображается в браузере No input file specified.
Не в сети
Если трафика немного или есть возможность поправить купленные ссылки, то лучше по-человечески сделать и подождать переиндексации.
Если это не вариант, то можно тупо использовать 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?
Не в сети
сейчас заметил что через index.php и так (по умолчанию) работает.....)
То есть в итоги мне нужно только сделать так чтоб не работало без index.php? а как перехватить все запросы без index.php?
Изменено Romannnn (02.04.2016 15:32:13)
Не в сети
когда в роуте прописываю вот так Route::get('/index.php/{slug}', 'IndexController@post');
В route не нужно прописывать index.php.
В том то и дело что уже и трафик есть и ссылки не поменять)
Может быть это можно сделать через файл htaccess?
Ссылки не нужно менять. Я написал о построении ссылок в Laravel.
сейчас заметил что через index.php и так (по умолчанию) работает.....)
То есть в итоги мне нужно только сделать так чтоб не работало без index.php? а как перехватить все запросы без index.php?
И так, чтобы ссылки строились с index.php/
На счет как - написал выше: либо middleware, либо в основном контроллере \app\Http\Controllers\Controller.php сделать проверку URL. Не проверял, но должно работать:
if (strpos($_SERVER['REQUEST_URI'], 'index.php')) {
abort(404);
}
Изменено AlexeyMezenin (02.04.2016 16:00:55)
Не в сети
ваша строка делает так что index.php не проходят, а без него работает. Кстати, главная страница должна быть исключением и работать без index.php то есть просто /
Не в сети
if ((strpos($_SERVER['REQUEST_URI'], 'index.php')) == 'false') {
abort(404);
}
вот так заработало.
Не в сети
вообщем все получилось но теперь другой вопрос возник.
Как бы мне в данном случаи свою собственную страницу ошибки отобразить?
У меня она уже есть, я её прописывал в handler.php
Не в сети
Не в сети
да, я создавал уже страницу в resources/views/errors/404.blade.php но в данному случаи браузер говорит "Сайт пока не может обработать этот запрос"
В чем может быть причина?
Не в сети
Страницы 1