PDA

View Full Version : مشکل با Regex و modrewrite



امیـرحسین
پنج شنبه 31 اردیبهشت 1388, 20:26 عصر
سلام به بر و بچ گل گلاب.

من همچنان با Regex مشکلم رو نتونستم حل کنم!
من توی فایل htaccess، همچین کدی رو دارم:

RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
این کد به زیبایی همه عمل می کنه. حالا من می خوام یک بخش اختیاری به آخر آدرس اضافه کنم که مثلا اگر آدرسم اینجوری بود، یه مقدار اضافی به کوئری افزوده شه:

http://sitedomain/parent/page.html,alpha => index.php?q=$1&b=$2
نکته خیلی مهمش اینه که این بخش اضافی (که با کاما شروع میشه) اختیاری هست و اگر نبود هم کار کنه. خودم حداکثر کاری که تونستم بکنم این بود:

RewriteRule ^(.*),([a-z]*)$ index.php?q=$1&b=$2 [L,QSA]
این کار می کنه ولی توش کاما اجباریه!


ممنون
AHHP

eAmin
پنج شنبه 31 اردیبهشت 1388, 23:30 عصر
سلام.

مشکلت فقط کاما هست؟ اگه اینه، فکر کنم این جواب بده:

RewriteRule ^(.*),?([a-z]*)$ index.php?q=$1&b=$2 [L,QSA]
راستش من از regex یه چیزایی می دونم ولی هنوز با mod_rewrite مچ نشدم:لبخندساده:

امیـرحسین
جمعه 01 خرداد 1388, 00:54 صبح
این رو تست کرده بودم، کلا ارور میده یعنی اون بخش اولی رو هم نمیشناسه. اینم تست کردم نشد:

RewriteRule ^(.*)(,?)([a-z]*)$ index.php?q=$1&b=$3 [L,QSA]

narsic
شنبه 02 خرداد 1388, 02:30 صبح
چرا


$3

شما متغیر دومتونه .

امیـرحسین
شنبه 02 خرداد 1388, 14:13 عصر
فرق چندانی نمی کنه این هم کار نمی کنه:

RewriteRule ^(.*)(,?)([a-z]*)$ index.php?q=$1&b=$2&c=$3 [L,QSA]

امیـرحسین
سه شنبه 05 خرداد 1388, 00:44 صبح
دوستان مشکل هنوز حل شده ها. کسی ایده ای، نظری نداره؟

TheMohammad
چهارشنبه 06 خرداد 1388, 12:17 عصر
ببین این بدردت میخوره
http://forums.digitalpoint.com/showthread.php?t=728502

eAmin
چهارشنبه 06 خرداد 1388, 17:34 عصر
سلام.

اینو امتحان کن ببین حل می شه:

RewriteRule ^(.*)[,]?([a-z]*)$ index.php?q=$1&b=$2 [L,QSA]

امیـرحسین
جمعه 08 خرداد 1388, 17:33 عصر
این رو از یه جا کش رفتم :چشمک:

RewriteRule ^([^,]*),?(.*)$ index.php?q=$1&cat=$2 [L,QSA]

بسیار بسیار ممنون بابت همفکریتون....