روش های مختلفی میشه پیاده سازیش کرد. پیشنهادم بنده اینه که:
اول یک جدول داشته باشید که اطلاعات url قدیمی و url که بایدبهش ریدایرکت بشه رو همراه با سایر اطلاعات مثلا وضعیت فعال بودنش یا نوع ریدایرکت ۳۰۱ باشه یا ۳۰۲ و ... ذخیره کنید.
بعد یک Middleware ایجاد کنید و همه درخواست ها رو از این middleware عبور بدید و چک کنید که آیا مسیر درخواستی در لیست url هایی که باید ریدایرکت بشن هست یا نه. اگر بود، در همون فایل middleware با استفاده از دستورات لاارول میتونید به راحتی این کار رو انجام بدید:
public function handle($request, Closure $next) {
if (آدرس در لیست ریدایرکت ها بود) {
return redirect($new_url, 301);
}
return $next($request);
}
برای بهبود عملکرد و بالابردن performance هم پیشنهاد میشه حتما این اطلاعات رو Cache کنید تا به ازای هر درخواست یک کوئری جداگانه به دیتابیس برای گرفتن لیست URL های ریدایرکتی نداشته باشید.
درود
برای ریدایرکت کردن به یه آدرس جدید میتونی داخل فایل .htaccess این کارو انجام بدی.
RewriteEngine on
RewriteRule ^(.*)$ http://www.newdomain.com/ [R=301,L]
این لینک هم مفیده
https://rokaweb.ir/seo-laravel-htacess/
روش های مختلفی میشه پیاده سازیش کرد. پیشنهادم بنده اینه که:
اول یک جدول داشته باشید که اطلاعات url قدیمی و url که بایدبهش ریدایرکت بشه رو همراه با سایر اطلاعات مثلا وضعیت فعال بودنش یا نوع ریدایرکت ۳۰۱ باشه یا ۳۰۲ و ... ذخیره کنید.
بعد یک Middleware ایجاد کنید و همه درخواست ها رو از این middleware عبور بدید و چک کنید که آیا مسیر درخواستی در لیست url هایی که باید ریدایرکت بشن هست یا نه. اگر بود، در همون فایل middleware با استفاده از دستورات لاارول میتونید به راحتی این کار رو انجام بدید:
public function handle($request, Closure $next) {
if (آدرس در لیست ریدایرکت ها بود) {
return redirect($new_url, 301);
}
return $next($request);
}
برای بهبود عملکرد و بالابردن performance هم پیشنهاد میشه حتما این اطلاعات رو Cache کنید تا به ازای هر درخواست یک کوئری جداگانه به دیتابیس برای گرفتن لیست URL های ریدایرکتی نداشته باشید.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟