ورود

View Full Version : سوال: Master Page و UrlRewriting



m_amin_t
سه شنبه 28 اردیبهشت 1389, 18:28 عصر
سلام
من توی وبسایتم از master page استفاده کردم و همه ی صفحات به صورت مرتب نمایش داده میشن. تا اینجا مشکلی نیست. مشکل از اونجایی شروع میشه که من توی بعضی صفحات از urlrewriting استفاده کردم. اینجاست که صفحه با مشکل مواجه میشه و همه ی مشخصات صفحه ی master دارای url اشتباه میشن و کلا تم اصلی masterpage درست اجرا نمیشه. مثلا اگه در صفحات بدون urlrewriting آدرس یه عکس توی master page این هستش:
http://localhost:3118/myproject/images/logo.png
توی صفحه ی با urlrewritingآدرس همون عکس به شکل زیر در میاد:
http://localhost:3118/myproject/rewritedFolder/images/logo.png
اضافه میکنم که urlrewriting که در اینجا استفاده شده به این صورته:

<rewrite url="~/rewritedFolder/(.+).aspx" to="~/rewritedFolder.aspx?id=$1"/>

razaghi
جمعه 02 مهر 1389, 09:18 صبح
من نیز به این مشکل برخورد کرده ام. چه کار باید کرد؟

حامد مصافی
جمعه 02 مهر 1389, 09:23 صبح
مشكل اينجاست كه درجه فولدر مسير واقعي و مسير بازنويسي شده در صفحه شما يكسان نيست.
فرض كنيد در داخل فولدر با نام dir1 صفحه اي با نام p1.aspx قرار دارد و در بازنويسي اين صفحه را به mysite.com/p1 مپ كرده ايد، حال اگر فايل css شما در مسيري مانند /theme باشد مرورگر با توجه به اطلاعات صفحه سعي مي كند آن را از مسير ../theme بگيرد كه صحيح نيست.

ضمناً لينك هايي كه داديد فقط براي شما معتبر هستند.

razaghi
جمعه 02 مهر 1389, 09:27 صبح
تصاویر در فولدری به نام Image در root است.
MasterPage نیز در root است.
من آدرس www.test.com/profile/32 را فراخوانی می کنم. این آدرس rewrite می کنه به فایل show.aspx که در root است. وقتی صفحه اجرا می شود تصاویر را نشان نمی دهد. آدرس تصاویر /profile/Image/1.gif است.

m.hamidreza
جمعه 02 مهر 1389, 11:41 صبح
razaghi@:
در برخورد با مشکل اولین چیزی رو باید بهش توجه کرد اینه که مشکل اصلا چیز پیچیده ای نیست!
همانطور که برادر مصافی گفت دلیل عدم نمایش واضحه باید این آدرس دهی ها رو اصلاح کرد.
وقتی سایت رو run میکنی در view source مرورگر آدرس عکس ها پس از رندر شدن مشخصه. میتونید اونا رو بررسی کنید تا ببینید چه جوری داره آدرس دهی میکنی و اصلاحش کنید.
موفق باشید.

razaghi
شنبه 03 مهر 1389, 07:51 صبح
view source دیدم.
من از masterpage استفاده کردم.
وقتی صفحه www.test.com/homepage.aspx اجرا می کنم تصاویر نشان می دهد. ولی وقتی این آدرس اجرا می کنم www.test.com/profile/3 را اجرا می کنم به فایل show.aspx که در rootاست rewrite می کنه. در این حالت آدرس تصاویر در view source به این صورت نشان می دهد.
<img src="Images/home.gif" border="0"/>
ولی در properties تصویر آدرس http://localhost:1138/test/profile/3/home.gif به این صورت است.