📅  最后修改于: 2023-12-03 15:32:35.977000             🧑  作者: Mango
在 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 中获取来访者的旧网址。从中选择最适合您的方法,并进行处理。