Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
open-source
MetaGer
Commits
ed7fc098
Commit
ed7fc098
authored
May 06, 2020
by
Dominik Hebeler
Browse files
Added redirect to TLD
parent
e86bd4ea
Changes
2
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
app/Http/Kernel.php
View file @
ed7fc098
...
...
@@ -16,6 +16,7 @@ class Kernel extends HttpKernel
protected
$middleware
=
[
\
Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode
::
class
,
\
Fideloper\Proxy\TrustProxies
::
class
,
\
App\Http\Middleware\LocalizationRedirect
::
class
,
// \App\Http\Middleware\VerifyCsrfToken::class,
];
...
...
app/Http/Middleware/LocalizationRedirect.php
0 → 100644
View file @
ed7fc098
<?php
namespace
App\Http\Middleware
;
use
Closure
;
use
LaravelLocalization
;
class
LocalizationRedirect
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public
function
handle
(
$request
,
Closure
$next
)
{
// We only redirect to the TLDs in the production version
if
(
env
(
"APP_ENV"
,
""
)
!==
"production"
){
return
$next
(
$request
);
}
$locale
=
LaravelLocalization
::
getCurrentLocale
();
$host
=
$request
->
getHttpHost
();
if
(
$host
!==
"metager.de"
&&
$locale
==
"de"
){
$url
=
$request
->
url
();
$url
=
str_replace
(
$host
,
"metager.de"
,
$url
);
$url
=
preg_replace
(
"/^http:\/\//"
,
"https://"
,
$url
);
$url
=
preg_replace
(
"/^(https:\/\/[^\/]+)\/de/"
,
"$1"
,
$url
);
return
redirect
(
$url
);
}
if
(
$host
!==
"metager.es"
&&
$locale
==
"es"
){
$url
=
$request
->
url
();
$url
=
str_replace
(
$host
,
"metager.es"
,
$url
);
$url
=
preg_replace
(
"/^http:\/\//"
,
"https://"
,
$url
);
$url
=
preg_replace
(
"/^(https:\/\/[^\/]+)\/es/"
,
"$1"
,
$url
);
return
redirect
(
$url
);
}
if
(
$host
!==
"metager.org"
&&
$locale
==
"en"
){
$url
=
$request
->
url
();
$url
=
str_replace
(
$host
,
"metager.org"
,
$url
);
$url
=
preg_replace
(
"/^http:\/\//"
,
"https://"
,
$url
);
$url
=
preg_replace
(
"/^(https:\/\/[^\/]+)\/en/"
,
"$1"
,
$url
);
return
redirect
(
$url
);
}
return
$next
(
$request
);
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment