راکت
13 پاسخ

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

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


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

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


فرشید مرادی
فرشید مرادی
تخصص :noob
@eniack5 سال پیشمطرح شد
بامداد
بامداد
@bamdad5 سال پیشمطرح شد
0

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


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

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


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

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

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


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

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


علی
علی
@Alitavil5 سال پیشمطرح شد
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
@eniack5 سال پیشمطرح شد
1

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


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

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


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

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


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

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

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


رضا
رضا
تخصص :Back-End developer
@rezajahan5 سال پیشمطرح شد
2

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


علی
علی
@Alitavil5 سال پیشمطرح شد
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

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

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