Свойства URL

Получить данные текущего URL можно через объект Request.

# httsp://know-online.com/news/show/14?sort=name
use Illuminate\Http\Request;

// метод контроллера
public function show(Request $request, $id)
{

  url()->current();                 // https://know-online.com/news/show/14
  url()->full();                    // https://know-online.com/news/show/14?sort=name
  $request->path();                 // news/show/14
  $request->url();                  // https://know-online.com/news/show/14
  $request->fullUrl();              // https://know-online.com/news/show/14?sort=name

  $request->host();                 // know-online.com
  $request->schemeAndHttpHost();    // http://know-online.com

  $request->query('sort');          // name (вместо $_GET['sort'])
  $request->query('sort', 'date');  // name (если не передан, возвращает «date»)
  $request->query();                // массив $_GET-запросов

  $request->has('sort');            // true, если $_GET-запрос передан (может быть пустым)
  $request->filled('sort');         // true, если $_GET-запрос передан и он не пустой

}

Получить ссылку без указанных строк запроса

Получить url без указанных строк запроса можно через метод $request->fullUrlWithoutQuery().

# /news/show/14?sort=name&token=34235
use Illuminate\Http\Request;

// метод контроллера
public function show(Request $request, $id)
{
  $request->fullUrlWithoutQuery(['token']); // https://know-online.com/news/show/14?sort=name
}

Заменить в ссылке строку запроса

Если в ссылке надо заменить строку запроса, то это можно сделать через метод url()->query().

echo url()->query('/catalog/?sort=id&order=asc', ['sort' => 'price']);
// https://know-online.com/catalog/?sort=price&order=asc

Ссылка предыдущей страницы

Получить URL предыдущей страницы можно через метод url()->previous().

// полный URL предыдущей страницы (включая домен и строку запроса)
echo url()->previous();