PDA

View Full Version : سوال: مشکل بعد از استفاده از mod_rewrite



ameysams
دوشنبه 13 دی 1389, 22:41 عصر
با سلام خدمت دوستان عزیز ما یک آدرس مثل این :

http://www.freshnews.ir/index.php?pn=3&cid=2&sid=1
را با mod_rewrite به این آدرس تبدیل کردیم:

http://www.freshnews.ir/3/2/1.html
مشکل اینجاست که دیگر فایل های css و فایل هایی که در require ،index.php شده بودند هیچ کدام بارگزاری نشده اند !!! مشکل از کجاست؟؟؟

Mr.Moghadam
دوشنبه 13 دی 1389, 23:08 عصر
سلام
بعد از استفاده از mode_rewrite باید آدرس فایلهای رو که اینکلود میکنین به صورت مطلق بدین مثلا اگه اینجوری بوده


<link href="style/style.css" rel="stylesheet" type="text/css" />

باید به صورت


<link href="http://www.domain.com/style/style.css" rel="stylesheet" type="text/css" />

در بیارین.

که میشه به صورت زیر هم استفاده کرد


<link href="http://<?php echo $_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])?>/style/style.css" rel="stylesheet" type="text/css" />

zednet
دوشنبه 13 دی 1389, 23:13 عصر
دلیلش این هست که شما آدرس های CSS و فایل های دیگه ای که در کدتون قرار دادید Dynamic نیستند.
در URL جدید هر یه اسلش هم باعث میشه آدرس های بارگذاری فایل های شما تغییر کنه.
راه حل این هست که شما برای فایل هاتون یک BaseUrl تعریف کنید.

درضمن برای آدرس دهی استفاده از $_SERVER['PHP_SELF'] توصیه نمیشه! { اشکال امنیتی داره }

-= موفق باشید =-

ameysams
دوشنبه 13 دی 1389, 23:42 عصر
راه حل دیگه هم اینکه بجای / از - بجای جدا کننده در RewriteRule استفاده کرد.:چشمک:

Vahid Faraji
دوشنبه 13 دی 1389, 23:45 عصر
درضمن برای آدرس دهی استفاده از $_SERVER['PHP_SELF'] توصیه نمیشه! { اشکال امنیتی داره }

-= موفق باشید =-

به خاطر این که از طریق حملات XSS یا Cross Side Scripting قابل تغییر و دستکاری می باشد.

XSS: یکی از انواع حملات به وب سایت ها می باشد که در این نوع حمله، کاربران مورد هدف واقع می شوند. پس از این که صفحات حالت داینامیک به خود گرفتند هکرها پی به یکی از حفره های این گونه سایت ها بردند. این حفره بیشتر زمانی رخ می دهد که سایت، اطلاعات کاربر را توسط Query string از کاربر درخواست می کنند. همچنین هکرها می توانند اطلاعات کوکی های کاربر را هم بخوانند.

رضا قربانی
سه شنبه 14 دی 1389, 00:27 صبح
منم همین مشکل رو داشتم که بعد از مدت ها متوجه شدم که اگر از mod_rewrite استفاده می کنید حتما باید آدرس ها رو به فرمایش دوستمون آقا سعید به این شکل وارد کنید :


<link href="http://www.domain.com/style/style.css" rel="stylesheet" type="text/css" />

مشکل شما هم بدون هیچ شکی و 100% از همین مورد هست :متفکر:

موفق باشی:چشمک:

mamali-mohammad
دوشنبه 16 آبان 1390, 20:50 عصر
اشتباه شد
لطفا پاک شود