PDA

View Full Version : تغییر url صفحات وب



tempel
پنج شنبه 18 شهریور 1400, 23:29 عصر
سلام نام صفحات مختلف سایت را دردیتابیس ذخیره میکنم، چگونه می توان از نام این صفحات(دردیتابیس) برای url و لینک شدن اون صفحه استفاده کرد مثلا :

به جای آدرس زیر

example.com/index.php?id = 30

url به صورت زیر نمایش داده شود :

example.com/index/صفحه موردنظر

plague
جمعه 19 شهریور 1400, 20:02 عصر
با htaccess جستجو کن آموزش هاش زیاده

tempel
جمعه 19 شهریور 1400, 22:43 عصر
با htaccess جستجو کن آموزش هاش زیاده

از دستور RewriteRule برای ریدایرکت کردن وتغییر لینک استفاده میکنم منتهانمی دونم چطور در htaccess. یا در پتِرن RewriteRule نام صفحه ذخیره شده در دیتابیس رو استخراج کنم(کوئری یا...)؟
چون در url، صفحات و محتوای اونها فقط از طریق page id فراخوانی میشود(با متد GET)...(در پست اول مثال زدم).
الآن دستوری که در htaccess استفاده میکنم به صورت زیر هست که فقط page id رو میتونم در url به کاربر نمایش بدم، نام صفحه رو چطور میتونم در url به نمایش بذارم؟


RewriteRule ^category/([^/]+) /display.php?page_id=$1 [NC,L]

plague
شنبه 20 شهریور 1400, 16:41 عصر
اول اینکه شما نباید همینجوری عنوان رو بزاری توی لینک چون توی عنوان یه سری کاراکتر های غیر مجاز هست معمولا مثل اسپیس که توی لینک نمیتونه باشه و وقتی شما عنوان رو بزاری توی لینک مرورگر اتومات تغییرش میده و کاراکتر های غیر مجاز رو تغییر میده مثلا اسپیس رو میکنه %20 یا همچین چیزی .... شما باید قبلش کاراکتر های اسپیس رو تبدیل کنی به - لینک همین صفحه رو نگاه کن بین کاراکتر های فارسی - گزاشته ... بهش میگن slug

از اینکه بگزریم نام و شناسه هردو در دیتبایس هستن طبیعتا شما از دیتبایس خندی شناسه رو که توی url گزاشتی ... خب بجای شناسه نام/عنوان چیزی که از دیتبایس خوندی رو بزار
اگه منظورت اینه که توی htaccess چی بزاری که عنوان ها رو قبول کنه میتونی از

(.*)

استفاده کنی


https://stackoverflow.com/questions/18547015

tempel
دوشنبه 22 شهریور 1400, 10:00 صبح
اول اینکه شما نباید همینجوری عنوان رو بزاری توی لینک چون توی عنوان یه سری کاراکتر های غیر مجاز هست معمولا مثل اسپیس که توی لینک نمیتونه باشه و وقتی شما عنوان رو بزاری توی لینک مرورگر اتومات تغییرش میده و کاراکتر های غیر مجاز رو تغییر میده مثلا اسپیس رو میکنه %20 یا همچین چیزی .... شما باید قبلش کاراکتر های اسپیس رو تبدیل کنی به - لینک همین صفحه رو نگاه کن بین کاراکتر های فارسی - گزاشته ... بهش میگن slug

از اینکه بگزریم نام و شناسه هردو در دیتبایس هستن طبیعتا شما از دیتبایس خندی شناسه رو که توی url گزاشتی ... خب بجای شناسه نام/عنوان چیزی که از دیتبایس خوندی رو بزار
اگه منظورت اینه که توی htaccess چی بزاری که عنوان ها رو قبول کنه میتونی از

(.*)

استفاده کنی


https://stackoverflow.com/questions/18547015

ممنون برای توضیحات