تور لحظه آخری
امروز : یکشنبه ، 9 اردیبهشت 1403    احادیث و روایات:  پیامبر اکرم (ص):بهترين شما كسى است كه براى زنان خود بهتر باشد و من بهترين شما براى زن خود هستم....
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها

تبلیغات

بلومبارد

تبلیغات متنی

تریدینگ ویو

خرید اکانت اسپاتیفای

کاشت ابرو

لمینت دندان

ونداد کولر

لیست قیمت گوشی شیائومی

صرافی ارکی چنج

صرافی rkchange

دانلود سریال سووشون

دانلود فیلم

ناب مووی

تعمیر گیربکس اتوماتیک

دیزل ژنراتور موتور سازان

سرور اختصاصی ایران

سایت ایمالز

تور دبی

سایبان ماشین

جملات زیبا

دزدگیر منزل

ماربل شیت

تشریفات روناک

آموزش آرایشگری رایگان

طراحی سایت تهران سایت

آموزشگاه زبان

اجاره سند در شیراز

ترازوی آزمایشگاهی

رنگ استخری

فروش اقساطی کوییک

راهبند تبریز

ترازوی آزمایشگاهی

قطعات لیفتراک

وکیل تبریز

خرید اجاق گاز رومیزی

آموزش ارز دیجیتال در تهران

شاپیفای چیست

فروش اقساطی ایران خودرو

واردات از چین

قیمت نردبان تاشو

وکیل کرج

قیمت فنس

armanekasbokar

armanetejarat

صندوق تضمین

سیسمونی نوزاد

پراپ تریدینگ معتبر ایرانی

نهال گردو

صنعت نواز

پیچ و مهره

خرید اکانت اسپاتیفای

صنعت نواز

لوله پلی اتیلن

کرم ضد آفتاب لاکچری کوین SPF50

دانلود آهنگ

طراحی کاتالوگ فوری

واردات از چین

اجاره کولر

دفتر شکرگزاری

تسکین فوری درد بواسیر

دانلود کتاب صوتی

تعمیرات مک بوک

قیمت فرش

خرید سی پی ارزان

 






آمار وبسایت

 تعداد کل بازدیدها : 1798655713




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

یه کد ساده mod_rewrite میخواستم که کار سایت multi language رو انجام بده. -


واضح آرشیو وب فارسی:سایت ریسک: یه کد ساده mod_rewrite میخواستم که کار سایت multi language رو انجام بده. NabiKAZ 14 خرداد 1386, 01:33سلام من با mod_rewrite زیاد کار کردم ولی خیلی توش روون نیستم ، کد htaccess یی میخواستم که مثالهای زیر رو انجام بده . /news/news.php به /news/news.php /news/fa/news.php به /news/news.php?lang=fa /news/fa/news.php?id=1 به /news/news.php?id=1&lang=fa ضمنا fa شاخه نیست و اصلا شاخه ای به این اسم وجود نداره، میشه گفت شاخه مجازیه ، البته باید کد طوری باشه که با اون به صورت شاخه برخورد نکنه و فقط به پارامتر تبدیل بشه. ترجیحاً کد طوری باشه که بجای fa اگر en و... هم باشه جواب بده. پیشاپیش از راهنماییتون ممنونم نبی جادوي سبز 14 خرداد 1386, 14:42من به شما پيشنهاد ميکنم که اگر ميخوايد از mod_rewrite استفاده کنيد، نوع فايل‌هاي مجازي رو html بزاريد و ديگه از Query استفاده نکنيد، تا فايل کاملاً بصورت Static نشون داده بشه. اين هم اون چيزي رو که خواستيد : RewriteEngine On RewriteRule ^news/fa/news.php ./news/news.php RewriteRule ^news/(.*)/news.php ./news/news.php?lang=$1 RewriteRule ^news/(.*)/news.php?id=(.*) ./news/news.php?id=$2&lang=$1 مدديس. NabiKAZ 18 خرداد 1386, 22:18سلام ، خب! ضمن تشکر مجدد. اشتباه من اين بود که برخلاف اکثر زبانهاي برنامه نويسي که براي برگشت به فولدر قبل از ".." استفاده ميکنند، اما در اينجا بايد از "." استفاده بشه. کد شما کمي خاص بود. با يه تغيير کوچيک به صورت زير تقريباً اون چيزي که ميخواستم شد: RewriteRule ^(.*)/(.*)/(.*) ./$1/$3?lang=$2 اما يک مشکلي که وجود داره اينه که اگر خود url ، متغيير به خودش گرفته باشه در اونصورت lang=$2? که اضافه ميشه مشکل پيش مياد، و بجاي اون بايد lang=$2& استفاده بشه. در این مورد منتظر راه حل شما هستم. مورد ديگه اينکه من آدرس تصاوير رو به صورت images/pic.jpg/.. ميدم. حالا در صورتي که در url شاخه مجازي نوشته بشه بايد دوبار به عقب برگشت يعني اينجوري: images/pic.jpg/../.. و اينکه کجا از کدوم استفاده بشه کمي مشکله. براي همين به نظرم رسيد مسير ها رو به صورت مطلق بدم يعني به صورت images/pic.jpg/ اينطوري مشکل حل ميشه. اما يه مشکل کوچيک ديگه هست اونم اينکه در حالت local معمولا براي هر پروژه يک شاخه مجزا ايجاد شده و به ابتداي تمام مسير ها مجبوريم اسم اون شاخه رو اضافه کنيم، درصورتي که بر روي سرور چون فايلها در ريشه قرار دارند نيازي نيست چيزي بهش اضافه بشه. چه راهي وجود داره که دغدغه اجراي کدها به صورت local يا روي سرور رو نداشته باشيم و در هر دو بدون تغيير در کدها مشکلي نباشه. اين هم با mod_rewrite فکر ميکنم امکان پذير باشه. تشکر نبي NabiKAZ 25 خرداد 1386, 21:33کسی در مورد دو مشکل اخیر راه حلی نداره؟ NabiKAZ 26 خرداد 1386, 21:21اما يک مشکلي که وجود داره اينه که اگر خود url ، متغيير به خودش گرفته باشه در اونصورت lang=$2? که اضافه ميشه مشکل پيش مياد، و بجاي اون بايد lang=$2& استفاده بشه. در ا?ن مورد منتظر راه حل شما هستم. اين مشکل توسط دوست خوبم آقاي "نيما جوهرزاده" حل شد بدين صورت: RewriteRule ^(.*)/(fa|en)/(.*)$ ./$1/$3?lang=$2 [QSA] وجود QSA باعث ميشه که کوئري به کوئري قبلي بچسبه. اما اين مشکل همچنان باقيست: مورد ديگه اينکه من آدرس تصاوير رو به صورت images/pic.jpg/.. ميدم. حالا در صورتي که در url شاخه مجازي نوشته بشه بايد دوبار به عقب برگشت يعني اينجوري: images/pic.jpg/../.. و اينکه کجا از کدوم استفاده بشه کمي مشکله. براي همين به نظرم رسيد مسير ها رو به صورت مطلق بدم يعني به صورت images/pic.jpg/ اينطوري مشکل حل ميشه. اما يه مشکل کوچيک ديگه هست اونم اينکه در حالت local معمولا براي هر پروژه يک شاخه مجزا ايجاد شده و به ابتداي تمام مسير ها مجبوريم اسم اون شاخه رو اضافه کنيم، درصورتي که بر روي سرور چون فايلها در ريشه قرار دارند نيازي نيست چيزي بهش اضافه بشه. چه راهي وجود داره که دغدغه اجراي کدها به صورت local يا روي سرور رو نداشته باشيم و در هر دو بدون تغيير در کدها مشکلي نباشه. اين هم با mod_rewrite فکر ميکنم امکان پذير باشه. تشکر




این صفحه را در گوگل محبوب کنید

[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 393]

bt

اضافه شدن مطلب/حذف مطلب







-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن