Make Ladill Link short URLs fully dynamic at click time.
Deploy Ladill Link / deploy (push) Successful in 1m55s
Deploy Ladill Link / deploy (push) Successful in 1m55s
Forward query strings and path suffixes to the live destination, resolve public hosts from config/custom domains instead of hardcoding ladl.link, and keep proxy Location rewrites on the visitor host.
This commit is contained in:
@@ -5,7 +5,6 @@ namespace App\Http\Controllers\Public;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Services\Link\LinkManagerService;
|
||||
use App\Services\Link\LinkPlatformProxy;
|
||||
use App\Support\LadillLink;
|
||||
use Illuminate\Http\RedirectResponse;
|
||||
use Illuminate\Http\Request;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
@@ -19,13 +18,15 @@ class LinkRedirectController extends Controller
|
||||
|
||||
public function resolve(Request $request, string $slug, ?string $path = null): RedirectResponse|Response
|
||||
{
|
||||
if ($path === null || $path === '') {
|
||||
$link = $this->links->resolve($request, $slug);
|
||||
if ($link !== null && $link->isDirectRedirect()) {
|
||||
return redirect()->away($link->destination_url, 302);
|
||||
}
|
||||
$link = $this->links->resolve($request, $slug);
|
||||
|
||||
if ($link !== null && $link->isDirectRedirect()) {
|
||||
$target = $link->resolveRedirectUrl($request, $path);
|
||||
|
||||
return redirect()->away($target, 302);
|
||||
}
|
||||
|
||||
// Catalog / QR ecosystem slugs: proxy so destination stays live in the source app.
|
||||
return $this->platform->forward($request, $slug, $path);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user