راکت
حل شده

انتقال خودکار url در لاراول

5 پاسخ

درود وقت بخیر
من پست ها رو در لاراول به این صورت نمایش میدم با slug و بدرستی هم کار میکنه

mysite/posts/title-post

به چه صورت میتونم با وارد کردن id همون پست به صورت خودکار به مسیر slug پست برسم؟ خودکار منقل بشه

برای مثال آدرس کوتاه همین صفحه این هست https://roocket.ir/discuss/17073 ولی وقتی کلیک میشه میره تو مسیر slug
دقیقا این منظورمه. ممنون میشم راهنمایی کنید دوستان

ثبت پرسش جدید

پاسخ‌ها

5
سیدعلی موسوی
سیدعلی موسوی
@juza66

تخصص: سی شارپ و پی اچ پی

بهترین پاسخ

با یک روت هم میشه انجام بشه و خیلی ساده میتونید اول چک کنید که مقداری که فرستاده میشه تو ای دی هست یا نه اگر نیست در slug سرچ کنید.

Post::where('id' , $keyword)->orWhere('slug' , $keyword)->firstOrFail();
علیرضا کفایتی
علیرضا کفایتی
@alirezakefayati

تخصص: برنامه نویس laravel, vue.js

سلام
اون طور که متوجه شدم میخواهید لینک کوتاه درست کنید ؟ درست میگم ؟

shadi
shadi
@shadi.ahmadians

تخصص: برنامه نویس php

@gomnam
سپاس از پاسخ شما
راستش من میخوام url هام رو با slug فارسی نشون بدم که تا این قسمت رو بدرستی انجام دادم اما دیدم وقتی لینک فارسی رو کاربر بخواد کپی کنه خیلی بد میشه میریزه بهم شکلش
گفتم با idهم بتونم دسترسی به پست داشته باشم این لینک رو برای کاربر بزارم که کپی کنه اما خودکار ریدایرکت بشه به همون ادرس slug دار
دقیقا مثل ادرس همین صفحه https://roocket.ir/discuss/۱۷۰۷۳ که وقی روش کلیک میشه میره تو مسیر slug دار
این قسمت ریدایرکت شدن رو نمی دونم به چه صورت باید هندل کنم

شاید پاسخ شما همین‌جا باشد

علیرضا کفایتی
علیرضا کفایتی
@alirezakefayati

تخصص: برنامه نویس laravel, vue.js

برای اینکه لینکتون کوتاه تر هم بشه یک روت دیگه درست کنید مثلا با نام p
اون بیاد آیدی رو دریافت کنه و اگر وجود نداشت که صفحه 404 برگردونه و اگر هم وجود داشت slug رو دریافت کنه و در نهایت هم :

redirect('/p/'.$slug)  

متغییر slug هم که دریافت شده و حالا میره به اون آدرس ...

shadi
shadi
@shadi.ahmadians

تخصص: برنامه نویس php

@gomnam
@juza66
دوستان خیلی ممنون با راهنمایی شما مشکلم بر طرف شد .
ممنون از وقتی که گذاشتید و بنده را راهنمایی کردید.

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام