Отключить маршрутизацию Laravel для определенной папки/маршрута

Мне интересно, как отключить маршрутизацию на laravel для определенного каталога?

Я надеюсь запустить свой основной сайт с laravel (я переписываю его в рамки), но я хотел бы сохранить свое текущее программное обеспечение форума! Проблема в том, что когда laravel видит "localhost/forums", он ищет контроллер или маршрут форумов. Я бы хотел, чтобы он просто перешел в каталог literal/forums.?

Ответы

Ответ 1

Мне пришлось публиковать эту строку публично /.htaccess

RewriteCond %{REQUEST_URI} !^/foldername

перед этой строкой (которая перенаправляет конечные косые черты)

RewriteRule ^(.*)/$ /$1 [L,R=301]

Ответ 2

С Laravel 4 ни одно из этих решений не работало для меня. Я в конце концов решил его, разместив

RewriteRule ^(directory-name) - [L]

перед

RewriteRule ^(.*)/$ /$1 [L,R=301]

в общедоступном/.htaccess

Ответ 3

Вам нужно сделать исключение в вашем файле .htaccess. Чуть выше правила, которое отправляет все на index.php, добавьте это:

RewriteCond %{REQUEST_URI} !^/forums

Все, что начинается с /forums, не будет отправлено в Laravel.

(Конечно, предполагается, что вы используете Apache.)

Ответ 4

В соответствии с вашим файлом routes.php он должен работать.

  • Вы вообще не ловите URL forum
  • Если существует каталог/файл "forum", URL-адрес не переписывается в Laravel index.php

routes.php (я использовал это в тестовом примере)

Route::get('{slug}', function($slug){
    return $slug;
});

Структура файла

|- app
|- public
|--- index.php // Laravel one
|--- forum // directory for forum files
|------ index.php // Forum one
....

Используя эту структуру, URL-адрес не переписывается в файл larvel routing index.php. Если я переименую/удалю forum, то URL-адрес папки будет перезаписан.

Он работает для вас?