PDA

View Full Version : درخواست کمک در نوشتن ‫‪RewriteRule‬‬ برای [ htaccess. ]



مهرداد سیف زاده
پنج شنبه 12 بهمن 1391, 12:00 عصر
من مقادیر را به این صورت ارسال میکنم

mysite.com/index.php?article=linux_open_source&menu=linux

حالا میخوام مقادیر article و menu رو به صورت زیر دریافت کنم

mysite.com/linux/linux_open_source

با آموزش های سایت یدونه نوشتم ولی کار نمیکنه

Options +FollowSymlinks
RewriteEngine on
RewriteRule /(*)/(*),(*) /index.php?article=$1&menu=$2 [nc]

ممنون میشم راهنمایی کنید.

siavashsay
پنج شنبه 12 بهمن 1391, 12:26 عصر
یه جستجو میزدید پیدا میکردید !
به هر حال این کد htaccess

RewriteEngine on

# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !\.(css|pdf|gif|ico|jpg|js|png|swf|pdf|txt|php)$
# otherwise forward it to index.php
RewriteRule ^(.*)$ index.php?id=$1 [L,QSA]
برای دریافت متغیرهاتون هم از کد :

$id=$_GET['id'];
$exp=explode("/",$id);
$article=$exp[0];
$menu=$exp[1];
$number=$exp[2];
echo $article."<br/>".$menu."<br/>".$number;
حالا مثلا اگر در کد بالا این آدرس رو وارد کنید :

http://www.site.com/art1/cpanel/123
خروجی به این صورت هست :
article = art1
menu = cpanel
number = 123
موفق باشید

مهرداد سیف زاده
پنج شنبه 12 بهمن 1391, 12:44 عصر
دستت درد نکنه تا حدودی راه افتاد ولی با عوض کردن عبارت id با menu (که کوئیری مجاز کد من هست) فقط تونستم لیست مطالب در اون منو رو برگردونم الان مشکل من دریافت دو مقدار هست من خط آخر رو بازنویسی کردم ولی بازم اشتباه میزنه

RewriteRule ^(.*)$/^(.*)$ index.php?article=$1&menu=$2 [L,QSA]

به نظرم خط آخر دستور رو باید یه تغییران جزئی داد

siavashsay
پنج شنبه 12 بهمن 1391, 13:11 عصر
نه دوست عزیز !
بنده طوری کد رو گذاشتم که شما در کل یک رشته رو بگیری و بعد اون رو تبدیل کنی به چندتا متغیر !
نیازی نیست
RewriteRule ^(.*)$/^(.*)$ index.php?article=$1&menu=$2 [L,QSA]
استفاده کنی - همون یک متغیر کافی هست
RewriteRule ^(.*)$/^(.*)$ index.php?article=$1 [L,QSA]

حالا در اینجا آرتکیل رو بگیر و با اکسپلود همون کدی که دادم چند قسمتش کن
چرا خودتو اذیت میکنی ؟

مهرداد سیف زاده
پنج شنبه 12 بهمن 1391, 14:44 عصر
آخه امکان داره نویسنده مطالب هم توی منوی دانلود یه عنوان مطلب نوشته باشه بنام دانلوداسلاید و هم توی منوی اسلایدها نوشته باشه دانلوداسلاید حال سایت هم بر طبق عنوان ها کار میکنه که مقدار عنوان رو همراه با مقدار منو می گیره و پایگاه داده جستجو میکنه.
البته با همون id کار می کرد بهتر بود ولی حالا گیر گرفتن دو مقدار menu و article هستم.