📜  laravel 获取旧网址 - PHP (1)

📅  最后修改于: 2023-12-03 15:32:35.977000             🧑  作者: Mango

Laravel 获取旧网址 - PHP

在 Laravel 中,有时候需要获取来访者的旧网址,以进行相关处理。这个过程在 Laravel 中非常简单,并且可以通过各种方法进行操作。以下是一些获取旧网址的方法。

方法一:使用 redirect()->back()->getTargetUrl()

如果您使用 Laravel 的默认重定向机制,那么可以使用 redirect()->back()->getTargetUrl() 方法来获取来访者的旧网址。

// 获取旧网址
$oldUrl = redirect()->back()->getTargetUrl();

// 显示旧网址
echo $oldUrl;

这将返回来访者的旧网址,并且可以随意处理它。

方法二:使用 Request::header('referer')

另一种获取来访者旧网址的方法是使用 Request::header('referer') 方法,这个方法可以返回来访者的 HTTP 引用页面。

use Illuminate\Http\Request;

// 获取旧网址
$oldUrl = Request::header('referer');

// 显示旧网址
echo $oldUrl;

这个方法非常简单,但可能存在一些问题,比如来访者禁用了 HTTP 引用页面等等。

方法三:在表单中添加 _previous 字段

如果您有一个带有表单的页面,您可以在表单中添加一个 _previous 字段,这个字段将包含来访者的旧网址。

<form method="POST" action="/submit">
  <input type="hidden" name="_previous" value="{{ url()->previous() }}">
  <!-- 其他表单元素 -->
  <button type="submit">提交</button>
</form>

然后在控制器中,您就可以获取这个 _previous 字段。

// 获取旧网址
$oldUrl = request()->input('_previous');

// 显示旧网址
echo $oldUrl;

这个方法特别适合带有表单的页面,但在其他页面中可能不太适用。

综上所述,有多种方法可以在 Laravel 中获取来访者的旧网址。从中选择最适合您的方法,并进行处理。