پرهام ناصحی
3 سال پیش توسط پرهام ناصحی مطرح شد
8 پاسخ

مشکل خوانده نشدن GET در url frindly در زبان PHP

اگر سایت یوتیوب را هنگام سرچ دیده باشید میبینید که در آن یک یو ار ال result وجود دارد و بعد از آن method گت
تصویر سایت یوتیوب :
توضیح تصویر رو وارد کنید
کد فایل .htaccess من :


Options +FollowSymLinks
RewriteEngine on

RewriteRule  post/(.*)/ index.php?id=$1
RewriteRule post/(.*) index.php?id=$1

من در این جا میخوام مثلا "post/122" رو در اون صفحه ای برای پیج بندی بزارم و میخوام method گت در این جا به اون اضافه بشه
اما مشکل تازه اینجاست که شروع میشه . چون تابع گت دیگه خوانده نمیشه .

!!یو ار ال ها تستی هستند!!


ثبت پرسش جدید
احسان داوری
تخصص : برنامه نویس
@ehsndvr 3 سال پیش مطرح شد
0

سلام ، صبحتون بخیر
من توضیحات شما رو چند بار خوندم و متوجه نشدم
یعنی مثلا شما میخواید یک آدرس داشته باشید که با Method گت (Get) باشه و اطلاعاتی رو براش به عنوان URL Parameter یا URL Variable ارسال کنید
مثل نمونه زیر :
https://roocket.ir/discuss/Page?color=red&backcolor=blue
میخواید این مقادیر به اون کد شما ارسال بشه و ارش استفاده کنید درسته ؟
خب حالا شما یه صفحه دارید به نام post/123 و میخواید به این صورت باشه
post/123?id=1
یا یه صفحه دارید به نام post و میخواد به این صورت باشه
post?id=1 یعنی مثلا برو به پستی که آیدی (ID) شناسه اون پست برابر هست با یک و اون روی برای کاربر نشون بده

لطفا نمونه ایی رو که میخواید برای بنده بنویسید و یکم دقیقتر توضیح بدید


پرهام ناصحی
تخصص : بک‌اند کار
@parhamdeveloper 3 سال پیش مطرح شد
0

@ehsndvr
حالت دوم یعنی
post?id=123
اما در اینجا با فایل .htaccess یو ار ال ها رو friendly کردم و دیگه اینجا متود های گت خوانده نمی شوند .
کل کاری که من انجام دادم :
اول مثلا صفحه ی ایندکس پست های ما http://site.com/blog بوده حالا ما می خوایم اینجا یک متود GET بهش اضافه بشه و بشه http://site.com/blog?page=2 در اینجا باز همون صفحه ی اول رو میاره و تغییری در صفحه ایجاد نمیشه یعنی متود GET خوانده نمیشه .
اینجا دقیقا باید چیکار کنم

فایل .htaccess :


Options +FollowSymLinks
RewriteEngine on

RewriteRule  site.com/(.*)/ index.php?mode=blog&?id=$1
RewriteRule site.com/(.*) index.php?mode=blog&?id=$1

فایل .htaccess که فرستادم کامل نیست اما شما خودتون کامل در نظر بگیرید .


احسان داوری
تخصص : برنامه نویس
@ehsndvr 3 سال پیش مطرح شد
0

متوجه شدم ممنون
خب اگر از همین کد ها استفاده میکنید یه جاشون مشکل داره و باید به این صورت باشه

RewriteRule  site.com/(.*)/ index.php?mode=blog?id=$1
RewriteRule site.com/(.*) index.php?mode=blog?id=$1

و نحوه صدا زدن به این شکل میشه
site,com/test/index.php?mode=blog&id=123
نباید برای پارامتر های بعدی از ؟ استفاده کنید همون & کافیه
اگر اشتباه نکنم ... لطفا اینو تست کنید


پرهام ناصحی
تخصص : بک‌اند کار
@parhamdeveloper 3 سال پیش مطرح شد
0

@ehsndvr
نه این یو ار ال باز نویسی میشه و دیگه اینطوری نوشته نمیشه


احسان داوری
تخصص : برنامه نویس
@ehsndvr 3 سال پیش مطرح شد
0

ببینید وقتی شما URL Parameters رو وارد میکنید و اون مسیر رو به صورت GET صدا میزنید (مثل این مسیر : site.com/blog?page=2) توی کدتون بررسی کنید ببینید اصلا این پارامتر ها دریافت میشه یا نه ؟
چون شما هر 2تا مسیر رو یکجا تعریف کردید ، یعنی آخرش اگر هم این URL صدا زده بشه ، فایل Index.php رو میخونه
شما این کد رو داخل Index.php بزارید و ببینید اصلا لینک شما URL Parameter داره ؟

و من دقیقا htaccess رو نمیدونم و اگر باز شما به جوابی نرسیدید بیشتر تحقیق میکنم
داخل لاراول ما میایم در قسمت Route ها یک مسیر تعریف میکنیم و یک تابع از یک Controller رو بهش اختصاص میدیم
اما داخل فایل htaccess شما ، بنده هرچی نگاه میکنم همش یک مسیر داره صدا زده میشه...


پرهام ناصحی
تخصص : بک‌اند کار
@parhamdeveloper 3 سال پیش مطرح شد
0

@ehsndvr
مشکلم حل شد .
باید داخل فایل .htaccess بعد از هر بازنویسی url یه [QSA] گذاشت تا متود های گت دیگه رو هم بتونه بخونه.
و ببخشید که وقتت رو هم گرفتم.


احسان داوری
تخصص : برنامه نویس
@ehsndvr 3 سال پیش مطرح شد
1

@parhamdeveloper سلام آقای ناصحی عزیز
خداروشکر که مشکلتون حل شد ، بنده یه متن بلند براتون نوشته بودم ، موقع فرستادن مرورگرم بسته شد 😂
خداهش میکنم عزیز شما هرموقع با بنده کار داشتید فقط من رو مخاطب قرار حتما میام نگاه میکنم.


ملی باغبان
@baghbanmali 2 ماه پیش مطرح شد
0

برای استخراج کل مطالب یک صفحه هنگام اسکراپ src مربوط به ویدئو یه کاراکتر و mp4 رو نمیگیره. راه حل چیه>؟
Uploaded/Video/1403/02/04/140302040944582772986845
در اصل
Uploaded/Video/1403/02/04/1403020409445827729868451.mp4


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

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