PDA

View Full Version : مشکل در RewriteMap



forestasphalt
یک شنبه 10 دی 1391, 11:21 صبح
با سلام
من میخوام آدرس صفحاتمو با Moderewrite ویرایش کنم
حالا من اومدم یه کاری کردم مثلا در بخش template کلی صفحه دارم به هر صفحه ای با آیدی خودش دسترسی پیدا میکنم (آیدی ها هم مشخصه داره از بانک میخونه یعنی میتونم کل آیدی ها رو بخونم و بریزم تو یه فایل تکس و در mode RewriteMap ازش استفاده کنم)
و سایر بخش ها مثلا learning یا download هم همینکارو کردم
الان چجوری میتونم این تبدیل انجام بدم؟
من آموزشی که توی سایت بود رو خوندم ولی نتونستم انجام بدم

forestasphalt
یک شنبه 10 دی 1391, 20:49 عصر
کسی نظری نداره؟
چیکار باید بکنم؟

MMSHFE
یک شنبه 10 دی 1391, 23:03 عصر
اگه میشه بیشتر توضیح بدین. راستش اصلاً نفهمیدم منظورتون چیه؟

forestasphalt
دوشنبه 11 دی 1391, 10:03 صبح
با سلام
همونطور که میدونیم با RewriteRule فقط میشه یک صفحه رو ریرایت کرد(مثلا آدرس یک صفحه رو همونجوری که میخوایم نشون بده مثلا http://webnovin.net/subpage/template/zootemplate.php?id=117 رو به صورت
117/http://webnovin.net/subpage/template/zootemplate)تبدیل کرد
حالا چون صفحات من زیاده(حدود 400-500 تا) میخواستم با استفاده از mode RewriteMap این تبدیل رو همشون انجام بدم
این کار شدنی هست دیگه؟
اگه نیست روشی رو که میشه اینکار رو کرد توضیح بدهید
با تشکر

MMSHFE
دوشنبه 11 دی 1391, 17:25 عصر
دوست عزیز، Rewrite یک صفحه رو اصلاح نمیکنه، همه رو اصلاح میکنه. شما دقیقاً بگین که Rewriteهایی لازم دارین تا بدون RewriteMap براتون htaccess. لازم رو بنویسم.

forestasphalt
دوشنبه 11 دی 1391, 18:24 عصر
من میخوام تمام صفحاتم همونجوری که بالا گفتم عوض کنم
مثلا این صفحه
http://webnovin.net/subpage/template/Xtech.php?id=410
http://webnovin.net/subpage/template/zeences.php?id=411
و الی آخر حدود 400-500 صفحه دیگه (چون هر صفحه آیدی مختلفی داره میخواستم اون آیدی ها رو بریزم تو یه فایل بعد اونا رو با rewrite map بخونم)

با تشکر

MMSHFE
دوشنبه 11 دی 1391, 20:40 عصر
این نمونه رو ببینید:
rewrite.zip (http://ir2up.ir/up19/a73a73d864f1b1.zip)
البته میشه تکمیلش کرد. مثلاً اگه یه فایلی نبود، صفحه 404 سفارشی شده بیاد یا مثلاً به صفحه اصلی Redirect بشه و...
کدی که گذاشتم ساده ترین حالت بود.

forestasphalt
دوشنبه 11 دی 1391, 21:10 عصر
من این فایل رو گذاشتم تو شاخه اصلی ولی جواب نداد(یعنی هیچ فرقی نکرد)
اگه این کد جواب بده url من به صورت مثلا به 117/http://webnovin.net/subpage/template/zootemplate میشه؟

MMSHFE
دوشنبه 11 دی 1391, 21:42 عصر
دوست گرامی، فکر کنم هدف Rewrite رو اشتباه متوجه شدین. RewriteEngine نیومده که yoursite.com/index.php?id=17 رو تبدیل به yoursite.com/17 بکنه. بلکه کاملاً قضیه برعکسه. RewriteEngine میخواد yoursite.com/17 رو به yoursite.com/index.php?id=17 تبدیل کنه. یعنی اگه خودتون دستی توی مرورگر بنویسید webnovin.net/subpage/template/zootemplate/117 (یا بعنوان href یک لینک استفاده کنید) اونوقت RewriteEngine اون رو به webnovin.net/subpage/template/zootemplate.php?id=117 میکنه (بدون اینکه توی URL مرورگر تغییری داده بشه) یعنی 117 رو تحت عنوان id بصورت get در اختیار صفحه zootemplate.php میگذاره و شما توی کدتون میتونید با ['GET['id_$ اون رو بخونید و کارهای لازم رو روش انجام بدین.

forestasphalt
دوشنبه 11 دی 1391, 21:56 عصر
حق با شماست
موقعی که آدرس رو اینجوری میزنم محتویات آرایه رو اصلا نشون نمیده یعنی get نمیکنه
/rewrite/xtech.php/36 هیچی نمیاره