فرشید مرادی
3 سال پیش توسط فرشید مرادی مطرح شد
13 پاسخ

پاک شدن کوئری از آدرس در فایل htaccess در زبان php

سلام خدمت دوستان
چطور میتونم url های صفحمو مدیریت کنم در داخل فایل htaccess ، برای مثال یک آدرس دارم برای نمایش جزئیات یک بلاگ به این صورت
blog-details?title=Nature-mattress-features-for-health
و من میخواهم به این صورت تغییر پیدا کنه
blog-details/Nature-mattress-features-for-health


ثبت پرسش جدید
بامداد
@bamdad 3 سال پیش مطرح شد
0

پروژت در MVC هست ؟


فرشید مرادی
تخصص : noob
@eniack 3 سال پیش مطرح شد
0
بامداد
@bamdad 3 سال پیش آپدیت شد
0

تو php خام وقتی بک اسلش میزنی بعدش یا فولدر هست یا فایل
پس بعد از اون باید یا فولدر داشته باشی یا فایل
و QueryString رو هم در ادامش


فرشید مرادی
تخصص : noob
@eniack 3 سال پیش مطرح شد
0

@bamdad
فکر کنم سئوال رو متوجه نشدید
آدرس همین صفحه رو ببینید در واقع میخوام شبیه همین باشه
آدرس من اینجوری نوشته شده
blog-details?title=Nature-mattress-features-for-health
title نامک بلاگ من هست و در واقع حکم آیدی رو داره واسه هر بلاگ و میخوام آدرس صفحه تبدیل بشه به این صورت
blog-details/Nature-mattress-features-for-health


بامداد
@bamdad 3 سال پیش مطرح شد
0

خب تو آیدی های مختلفی داری درسته ؟ به هر حال در URL معلوم کنی که کدام ID باید فراخوانی بشه وگرنه نمیشه کلا حذفش کنی
ولی میتونی اینطوری کنی
blog-details/title/Nature-mattress-features-for-health

که باید فایل یا فولدر بسازی


فرشید مرادی
تخصص : noob
@eniack 3 سال پیش مطرح شد
0

@bamdad
داداشم شما چیز دیگه ای رو داری‌توضیح میدی اصلا ربطی ندارن بهم دیگ به هرحال ممنونم ک وقت گذاشتی.


علی
@Alitavil 3 سال پیش آپدیت شد
0

خوب باید یک قانون درست کنی براش توی فایل htaccess

مثلا برای این لینکت

blog-details?title=Nature-mattress-features-for-health

باید کد زیر رو استفاده کنی

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)$  blog-details.php?title=$1 [NC]

استفاده کنی

کافیه فایلت رو اینجوری صدا بزنی

blog-details/Nature-mattress-features-for-health

فرشید مرادی
تخصص : noob
@eniack 3 سال پیش مطرح شد
1

@Alitavil
از نظر ساختاری به نظر درست هست کد های شما ولی متاسفانه بازم جواب نداد بهم ، نمیدونم مشکل از چیه!!!!


فرشید مرادی
تخصص : noob
@eniack 3 سال پیش مطرح شد
0

ممنون میشم اگر کسی اطلاع دقیقی داره بهم کمک کنه چند روزه درگیر این مسله هستم.


علی
@Alitavil 3 سال پیش مطرح شد
0

خوب اینی که من گذاشتم برای نمونه بود باید نسبت به کدهات یه تغییرات کوچیکی توش بدید چون خودتون بهتر از نوع کدهاتون خبر دارید


فرشید مرادی
تخصص : noob
@eniack 3 سال پیش مطرح شد
0

@Alitavil
من تجربه زیادی ندارم نمیدونم دقیق چیو باید تغییر بدم ، اگر منظورتون کدی هست که واسه فرا خوانی بلاگ به این صورته

<? blog-details?title<?= $item->title >


رضا
تخصص : Back-End developer
@rezajahan 3 سال پیش آپدیت شد
2

www.test.com/blog/titel/1/2
وقتی بخوای uri به این صورت نمایش داده بشه باید یه سیستم routing برای پروژت درست کنی . اولین کاری که باید انجام بدی داخل فایل htaccess بگی که هر خواستی از سمت کاربر اومد هدایت بشه به index.php
داخل index توسط REQUEST_URI در خواست کاربر رو بگیری و مدیریت کنی
برای مثال می گم داخب uri که بالا نوشتم blog داره اشاره می کنه به یک کلاس و title یک متد از کلاس بلاگ هست و 1 ، 2 پارامتر های ورودی اون متد هستن


علی
@Alitavil 3 سال پیش مطرح شد
0

@farshid.moradi199658

این یک نمونه کلی هست حالا هر چند تا پیج داشته باشی میتونی توی این کد جایگزین کنی تا حدودی که حدس میزدم برات تکمیل کردم


RewriteEngine On

RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f

RewriteRule ^users/(.*)*$ ./profile.php?username=$1
RewriteRule ^blog-details/(.*)*$ ./blog-details.php?title=$1

RewriteRule ^search/(.*)$ ./search.php?query=$1

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

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