diff --git a/src/Http/Controllers/FormController.php b/src/Http/Controllers/FormController.php index 5913d19990..9de616b57e 100644 --- a/src/Http/Controllers/FormController.php +++ b/src/Http/Controllers/FormController.php @@ -154,9 +154,7 @@ private function formSuccess($params, $submission, $silentFailure = false) ]); } - $response = $redirect && ! \Statamic\Facades\URL::isExternalToApplication($redirect) - ? redirect($redirect) - : back(); + $response = $redirect ? redirect($redirect) : back(); if (! \Statamic\Facades\URL::isExternal($redirect)) { session()->flash("form.{$submission->form()->handle()}.success", __('Submission successful.')); @@ -169,8 +167,14 @@ private function formSuccess($params, $submission, $silentFailure = false) private function formSuccessRedirect($params, $submission) { - if (! $redirect = Form::getSubmissionRedirect($submission)) { - $redirect = Arr::get($params, '_redirect'); + if ($redirect = Form::getSubmissionRedirect($submission)) { + return $redirect; + } + + $redirect = Arr::get($params, '_redirect'); + + if ($redirect && \Statamic\Facades\URL::isExternalToApplication($redirect)) { + return null; } return $redirect;