PDA

View Full Version : مشكل با RewriteRule



Reza1607
جمعه 25 فروردین 1391, 13:22 عصر
سلام
من مي خوام زماني كه كاربر لينك زير رو وارد كرد
http://myhost.com/profile/reza
بره به اين لينك
http://myhost.com/index.php?action=profile&id=reza

خودم اين رو نوشتم ولي كار نمي كنه

RewriteRule /profile/(([a-z]+)|([0-9]+))$ index.php?action=profile&id=$1

ممنون ميشم كمكم كنيد

MMSHFE
جمعه 25 فروردین 1391, 15:53 عصر
اینو تست کنید:

RewriteRule ^([a-z]+)/([0-9]+)$ index.php?action=$1&id=$2

Reza1607
جمعه 25 فروردین 1391, 16:09 عصر
بزاريد من يكم بيشتر توضيح بدم
قراره اگه لينك چه به صورت
http://mydowmain.com/profile/2
يا
http://mydowmain.com/profile/reza
بود بره كنترل بره به اين مسير
http://mydomain.com/?action=profile&do=2
يا
http://mydomain.com/?action=profile&do=reza
يعني id چه عددي بود و چه رشته بره به اون صفحه مورد نظر

MMSHFE
جمعه 25 فروردین 1391, 16:35 عصر
RewriteRule ^([a-z]+)/([a-z0-9]+)$ index.php?action=$1&do=$2 [NC,QSA,L]

Reza1607
جمعه 25 فروردین 1391, 20:44 عصر
خيلي ممنون مشكل با يكم تغيير حل شد


RewriteRule ^profile/([a-z0-9]+)$ index.php?action=profile&do=$1 [NC,QSA,L]

Reza1607
یک شنبه 27 فروردین 1391, 17:55 عصر
ببخشید من باز با این Rewrite مشکل پیدا کردم
من این آدرس رو دارم

http://mydomain.com/news/90-test
می خوام متغییرها رو پاس بده به این آدرس

http://mydomain.com/index.php?option=com_content&view=article&id=90:test&catid=87&Itemid=466

خودم این رو نوشتم ولی جواب نمی ده

RewriteRule /news/([0-9]+)\-([\w\_\-]+)$ /index.php?option=com_content&view=article&id=$1:$2&catid=87&Itemid=466 [NC,QSA,L]

رضا قربانی
یک شنبه 27 فروردین 1391, 19:33 عصر
ببخشید من باز با این Rewrite مشکل پیدا کردم
من این آدرس رو دارم

http://mydomain.com/news/90-test
می خوام متغییرها رو پاس بده به این آدرس

http://mydomain.com/index.php?option=com_content&view=article&id=90:test&catid=87&Itemid=466

خودم این رو نوشتم ولی جواب نمی ده

RewriteRule /news/([0-9]+)\-([\w\_\-]+)$ /index.php?option=com_content&view=article&id=$1:$2&catid=87&Itemid=466 [NC,QSA,L]


نه دیگه . این کدی که برای مدریرایت نوشتید نباید مقدار گت رو عددی بذارید باید به جای تمامی عددها $1 بذارید ولی برای String باید خود حروف رو بنویسید


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

Reza1607
یک شنبه 27 فروردین 1391, 19:41 عصر
متوجه منظورتون نشدم میشه بیشتر توضیح بدین یا کدش رو بذارید

MMSHFE
یک شنبه 27 فروردین 1391, 21:43 عصر
RewriteRule ^news/(\d+)\-([\w\_\-]+)$ index.php?option=com_content&view=article&id=$1:$2&catid=87&Itemid=466 [NC,QSA,L]
یک / اولش اضافه گذاشته بودین.