/
  • rewriteEngin

  • صفحه‌ها (3):
  • ارسال پاسخ   امتیاز موضوع:
    • 1 رأی - میانگین امیتازات: 5
    • 1
    • 2
    • 3
    • 4
    • 5

    حالت موضوعی | حالت خطی rewriteEngin
    نویسنده پیام
    arlabbafi آفلاین
    آرسنال
    **

    ارسال‌ها: 44
    تاریخ عضویت: ۱۳۸۷ اسفند ۱
    اعتبار: 1
    تشکرها : 11
    ( 25 تشکر در 7 ارسال )
    ارسال: #1
    rewriteEngin
    سلام به دوستان من يه سايتي دارم ميخوام url هاشو با RewriteEngine درست كنم.
    مثلا اين آدرسو
    http://localhost/MySite/index.php?show=Main&group=19
    تبديل كنم به
    http://localhost/MySite/Main/19/
    براي همين اين كدو تو فايل htaccess نوشتم
    کد PHP:
    Options +FollowSymlinks 
     RewriteEngine on 
     RewriteRule 
    ^(.+)/(.+)/ index.php?show=$1&group=$[nc
    ولي عوض اين كه همچين صفحه ايرو نشون بده
    [تصویر:  dqmj34oxi3sme6wedvpk.jpg]
    اينو نشون ميده
    [تصویر:  zv9he0denmnbk2sm7lw.jpg]
    يعني عكس ها و رنگها و فونت ها و... هوتوتو
    اشكال كار كجاس؟
    ۱۳۸۸ دي ۱۷ ۱۲:۰۸ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    zoghal آفلاین
    صالح سوزنچی
    *****

    ارسال‌ها: 1,766
    تاریخ عضویت: ۱۳۸۷ دي ۲۵
    اعتبار: 23
    تشکرها : 1500
    ( 1729 تشکر در 992 ارسال )
    ارسال: #2
    RE: rewriteEngin
    مشکل از نوع تعریف rule هست.
    شما در این rule :
    نقل قول: RewriteRule ^(.+)/(.+)/ index.php?show=$1&group=$2 [nc]
    دارید میگید
    نقل قول: /هرچیزی/هرچیزی/دامین
    خوب اگر شما ادرس دهی فایل های سی اس اس و عکس ها رو ظاهری داده باشید یعنی /image/eng.gif معلومه ایجا درست کار نمی کنه. پیشنهاد میدم که رول هاتون رو درست انتخاب کنید تا از هک شدن هم جلوگیری بشه.
    درستش اینه

    نقل قول: RewriteRule ^MySite/Main/([0-9]+)? index.php?show=$1&group=$2 [nc]

    درضمن کلا برای کار کردن با این گونه موارد بهتره شما در لوکال هاست دامین مجازی تعیریف کنید. تا آنچه می نویسید روی لوکال با اونی که آپلود می کنید رو هاست یکی باشه. مخصوصا رو آدرس دهی تصاویر
    ۱۳۸۸ دي ۱۷ ۰۹:۲۳ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط : amir.s arlabbafi alic
    arlabbafi آفلاین
    آرسنال
    **

    ارسال‌ها: 44
    تاریخ عضویت: ۱۳۸۷ اسفند ۱
    اعتبار: 1
    تشکرها : 11
    ( 25 تشکر در 7 ارسال )
    ارسال: #3
    RE: rewriteEngin
    ممنون zoghal جان ، به نظر منم همين طوره كه ميگي يعني آدرس عكسهارو قاطي ميكنه .
    در ضمن منظورت از اينكه هك نشه چي بود ؟ مگه با rewrite Rule احتمال هك شدن هست ؟
    (آخرین ویرایش در این ارسال: ۱۳۸۸ دي ۱۹ ۱۱:۱۵ صبح، توسط arlabbafi.)
    ۱۳۸۸ دي ۱۹ ۱۱:۱۵ صبح
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    zoghal آفلاین
    صالح سوزنچی
    *****

    ارسال‌ها: 1,766
    تاریخ عضویت: ۱۳۸۷ دي ۲۵
    اعتبار: 23
    تشکرها : 1500
    ( 1729 تشکر در 992 ارسال )
    ارسال: #4
    RE: rewriteEngin
    ببینید. همیشه میگن زمانی که اسکریپت شما پارامتر میگیره . باید چک کنید. که ایا پارامتر ارسالی صحیح هست یا خیر. در واقع روش sql injection هم به این صورت عمل میکنه که با ارسال یک سری دستورات sql در این پارامتر ها باعث اختلالاتی در سیستم می شود


    در مثالی که من زدم. و موردی که شما ذکر کردید. فرقش اینه که شما گقتید (.+) هرچیزی
    اما من گفتم /([0-9]+) فقط مقدار عددی دریافت کنه.
    پس یک فیلتر قوی روی اسکریپتم گزاشتم. که مقادیر نا مربوط بهش ارسال نشه
    ۱۳۸۸ دي ۱۹ ۰۱:۵۸ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط : oia admin alic
    faghani آفلاین
    عليرضا فغاني
    ****

    ارسال‌ها: 341
    تاریخ عضویت: ۱۳۸۸ مرداد ۲۲
    اعتبار: 4
    تشکرها : 255
    ( 85 تشکر در 61 ارسال )
    ارسال: #5
    RE: rewriteEngin
    نقل قول: مشکل از نوع تعریف rule هست.
    شما در این rule :

    نقل قول : RewriteRule ^(.+)/(.+)/ index.php?show=$1&group=$2 [nc]

    دارید میگید

    نقل قول :/هرچیزی/هرچیزی/دامین

    خوب اگر شما ادرس دهی فایل های سی اس اس و عکس ها رو ظاهری داده باشید یعنی /image/eng.gif معلومه ایجا درست کار نمی کنه. پیشنهاد میدم که رول هاتون رو درست انتخاب کنید تا از هک شدن هم جلوگیری بشه.
    درستش اینه

    نقل قول : RewriteRule ^MySite/Main/([0-9]+)? index.php?show=$1&group=$2 [nc]


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

    من پستتو خوندم ولی چیزی سرم نشد!Big Grin
    دوست عزیز منم این مشکلو دارم و وقتی از این روش استفاده میکنم عکسهام به نمایش در نمیادHuh
    من میخواستم بپرسم چیکار کنم این مشکل رفع بشه؟(فایل css یا تگ های کد نویسیم رو باید ویرایش کنم؟)

    سوال دومم اینه که من توی لوکال چطوری میتونم از دامین های مجازی استفاده کنم!Sad
    یعنی چجوری به طور اتوماتیک در لوکال توسط htaccess سابدامین بدم!Idea
    روششو روی هاست میدونم ولی هر کاری کردم رو لوکال نمیشد و خطای 404 میدادUndecided ایا روشی هست؟ مثلا چیزی رو فعال کنم!؟Blush
    نرم افزار لوکال هاستمم XAMPP هست...Wink


    باتشکر از راهنماییهاتونHeart
    ۱۳۸۸ اسفند ۲ ۰۸:۰۱ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    nasserghiasi آفلاین
    ناصر GH
    ***

    ارسال‌ها: 242
    تاریخ عضویت: ۱۳۸۸ آذر ۷
    اعتبار: 2
    تشکرها : 127
    ( 41 تشکر در 22 ارسال )
    ارسال: #6
    RE: rewriteEngin
    به جای استفاده از لینک های local باید از لینک کامل استفاده کنی:
    مثال:
    کد:
    http://www.example.com/css/style.css
    به جای:
    ../css/style.css
    این چنین مواردی باید همه جای برنامه رعایت شود تا مشکلی پیش نیاید.
    پیشنهاد من اینه که یک ثابت مثلا به نام PATH در ابتدای فایل php تون تعریف کنید و آدرس روت سایتتون رو بنویسید بعد بصورت زیر عمل کنید:
    کد:
    <?=PATH?>css/style.css
    ۱۳۸۸ اسفند ۲ ۰۹:۲۷ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط :
    faghani آفلاین
    عليرضا فغاني
    ****

    ارسال‌ها: 341
    تاریخ عضویت: ۱۳۸۸ مرداد ۲۲
    اعتبار: 4
    تشکرها : 255
    ( 85 تشکر در 61 ارسال )
    ارسال: #7
    RE: rewriteEngin
    من همه این کارا رو کردم !
    ولی بازم درست نشد!Blush
    ۱۳۸۸ اسفند ۲ ۰۹:۴۱ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    admin آفلاین
    وحید سهرابلو
    **********

    ارسال‌ها: 5,697
    تاریخ عضویت: ۱۳۸۷ آذر ۲۴
    اعتبار: 100
    تشکرها : 1362
    ( 6197 تشکر در 3438 ارسال )
    ارسال: #8
    RE: rewriteEngin
    کد PHP:
    RewriteEngine on 
    RewriteCond 
    %{REQUEST_FILENAME} !-f
    RewriteCond 
    %{REQUEST_FILENAME} !-d
     RewriteRule 
    ^(.+)/(.+)/ index.php?show=$1&group=$[nc
    ۱۳۸۸ اسفند ۲ ۰۹:۵۴ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط : faghani
    faghani آفلاین
    عليرضا فغاني
    ****

    ارسال‌ها: 341
    تاریخ عضویت: ۱۳۸۸ مرداد ۲۲
    اعتبار: 4
    تشکرها : 255
    ( 85 تشکر در 61 ارسال )
    ارسال: #9
    RE: rewriteEngin
    روی لوکال ایراد نداره؟Huh
    مشکل داره هنوز...Undecided

    دقیقا باید چیکار کنم؟Confused
    ۱۳۸۸ اسفند ۴ ۰۶:۴۶ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    admin آفلاین
    وحید سهرابلو
    **********

    ارسال‌ها: 5,697
    تاریخ عضویت: ۱۳۸۷ آذر ۲۴
    اعتبار: 100
    تشکرها : 1362
    ( 6197 تشکر در 3438 ارسال )
    ارسال: #10
    RE: rewriteEngin
    شما باید برای نشونی هایی که وجود داره بگی از از روش استفاده نکنه یا شرط بزاری که در صورتی که فایل به .js و .css و .gif و ... ختم نشده بود از این الگو استفاده کنه
    این الگو رو هم تست کن
    کد:
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} -s [OR]
    RewriteCond %{REQUEST_FILENAME} -l [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^(.+)/(.+)/ index.php?show=$1&group=$2 [nc]
    (آخرین ویرایش در این ارسال: ۱۳۸۸ اسفند ۴ ۰۷:۳۹ عصر، توسط admin.)
    ۱۳۸۸ اسفند ۴ ۰۷:۳۷ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    « قدیمی تر | تازه‌ تر »

  • صفحه‌ها (3):
  • ارسال پاسخ
    پرش به انجمن:


    کاربرانِ درحال بازدید از این موضوع: 1 مهمان
    IranPHP.org | تماس با ما | بازگشت به بالا | بازگشت به محتوا | بایگانی | پیوند سایتی RSS