نمایش نتایج: از شماره 1 تا 4 , از مجموع 4

موضوع: قرار دادنcustome erorr 404 برای سئو

  1. #1
    عضو جدید
    تاریخ عضویت
    Apr 2011
    نوشته ها
    75
    تشکر تشکر کرده 
    12
    تشکر تشکر شده 
    6
    تشکر شده در
    5 پست

    1 قرار دادنcustome erorr 404 برای سئو

    با سلام خدمت دوستان
    من سایتم رو تو woorank برای سئو چک کردم یکی از مواردی که نیاز بود قرار دادن cutome error 404 بود که این کار را انجام دادم و کد زیر را به webconfig اضافه کردم.
    <httpErrors errorMode="Custom">
    <remove statusCode="404" subStatusCode="-1" />
    <error statusCode="404" subStatusCode="-1" prefixLanguageFilePath="" path="error-404.aspx" responseMode="ExecuteURL" />

    </httpErrors>
    و دوباره تو woorank چک کردم اما باز زده بود که custome error 404 سایتم نداره آیا باید کار دیگه ای هم انجام بدم؟

    با سپاس

  2. # ADS




     

  3. #2
    عضو انجمن hostnic آواتار ها
    تاریخ عضویت
    Oct 2012
    محل سکونت
    تهران
    نوشته ها
    137
    تشکر تشکر کرده 
    134
    تشکر تشکر شده 
    80
    تشکر شده در
    71 پست

    پیش فرض پاسخ : قرار دادنcustome erorr 404 برای سئو

    درود بر شما
    مراحل زیر را انجام دهیذ :

    1.ایجاد کردن صفحه 404: ابتدا یک فایل 404 با پسوند پی اچ پی ایجاد کرده و داخل آن بنویسید صفحه مورد نظر موجود نیست.پ

    فایل .htaccess روت را باز کنید در پایین کد
    RewriteEngine On
    کد زیر را قرار دهید
    ErrorDocument 404 /404.php
    ErrorDocument: مسیر فایل ارور آپاچی سرور را مشخص می کند در صورتی که فایل ساخته شده باشد آن را فراخوانی می کند در غیر اینصورت از مسیر پیش فرض سرور استفاده می کند
    برای ساخت دیگر خطاهای آپاچی ابتدا به مدیریت دیتالایف و به قسمت صفحات اضافی بروید و برروی ایجاد صفحه جدید کلیک کنید مسیر http://damaneshoma.com/admin.php?mod=static&action=addnew
    در قسمت آدرس صفحه: 404 را وارد کنید،
    و در قسمت عنوان صفحه: عنوان صفحه مورد نظر برای خطای 404 (Not Found) را انتخاب کنید، برای مثال: خطای 404
    سپس در قسمت متن صفحه: متن مورد نظر برای نمایش توضیح برای خطا را وارد کنید، برای مثال: آدرس مورد نظر یافت نشد!!!
    حالا فایل htaccess. را باز کنید و به دنبال کد زیر بگردید:
    RewriteEngine On
    و بعد از آن کد زیر را قرار دهید:
    ErrorDocument 404 /index.php?do=static&page=404
    حالا می توانید برای مشاهده این خطای ایجاد شده برای مثال به آدرس Damaneshoma.com/021.jpg مراجعه کنید در صورت که تصویر وجود نداشته باشد صفحه 404 شما به نمایش در می آید
    چند خطای اپاچی برای نمونه:
    خطای 401: دسترسی به آدرس وارد شده غیر مجاز است!!!
    خطای 403: دسترسی به این آدرس ممنوع می باشد!!!
    خطای 404: آدرس مورد نظر یافت نشد!!!
    خطای 500: خطای داخلی سرور بوجود آمده است!!!
    شما با ایجاد یک صفحه اضافی و تنظیم آن در فایل htaccess. بصورت زیر خطای مورد نظر را به صورت یک صفحه اضافی به نمایش در بیاورید:
    ErrorDocument شماره-خطای-اپاچی /index.php?do=static&page=آدرس-صفحه-ایجاد-شده
    2.شناسایی و ایندکس کردن صفحات : گوگل باید صفحات شما را شناسایی و مطلاب شما را طبقه بندی کند
    ابتدا فایل engine/engine.php را باز کنید :
    <META name=”keywords” content=”{$metatags['keywords']}” />
    کد پایین را قرار دهید .
    <LINK rel=”index” title=’{$metatags['description']}’ href=’{$config['http_home_url']}’ />
    بعد از کدهای بالا برای شناسایی همه ی موتور های جستجو این کد هم اضافه کنید :
    <META name=”googlebot” content=”index, follow” />
    هنگامی که می خواهید در دیتالایف پست ارسال کنید قسمت توضیحات رو بزارید خود دیتالایف تولید کنه ( در قسمت تنظیمات ) . این یکی از مهم ترین خاصیت های ذاتی دیتالایف هست که خودش قوی انجام می ده .
    قسمت تگ های آخر سایت را در فایل main.tpl حتما تعببه کنید . حتی لامکان در پایین سایت از قرار دادن تگ های نا مرتبط با موضوع و اضافی خودداری کنید اگر تگ ها را نمایش دهید و روی آنها کلیک شود امکان قرار گرفتن آنها در صفحات گوگل بیشتر می شود .
    [tags]{tags}[/tags]
    3.برخی نکات مهم :
    اگر می خواهید مطالب شما در نتایج انگلیسی موتورهای جستجو قرار بگیرد و آدرس مطلب شما زیاد نشود از کلمات انگلیسی در آدرس مطلب استفاده کنید مانند: خدمات میزبانی وب ,web hosting

    یکی دیگر از نکات فنی دیتالایف این است که در قسمت صفحات سایت 10 تا را بیشتر نشان نمی دهد و بهتر است که شما هم آنرا در همین حالت رها کنید و از هکی که تمام صفحات را نشان می دهد استفاده نکنید .

    کلماتی که در پست ها قرار دارند و مهم هستند ( مانند : هاست,… ) را به صفحه اصلی لینک دهید .

    یکی از نکات مهم در پست ها ALT در تصاویر و توضیح مختصر درباره مطلب می باشد حتما با عنوان مطلب مطابقت داشته باشد و توضیح مختصری درباره شرح مطلب قرار دهید و از قرار دادن خود مطلب خودداری کنید(در صورتی که از ویرایشگر معمولی استفاده نمایید ALT تصاویر به صورت خودکار گذاشته می شود و بهترین ویرایشگر برای مطالب می باشد که کدهای استاندارد را قرار می دهد)

    قالبتون به صورت DIV , CSS باشه . Sitemap.xml رو حتما در گوگل بسازید و بعد از قرار دادن هر مطلب ماژول نقشه سایت گوگل در مدیریت دیتالایف را بروز کنید .
    برای سایت خود وبلاگ ایجاد کنید و آدرس وبلاگ را در صفحه اصلی سایت خود قرار دهید این کار باعث بهبود سئو سایت می شود
    برای بررسی دقیق سئو سایت از لینک زیر استفاده کنید

  4. تعداد تشکر ها ازhostnic به دلیل پست مفید


  5. #3
    عضو جدید
    تاریخ عضویت
    Apr 2011
    نوشته ها
    75
    تشکر تشکر کرده 
    12
    تشکر تشکر شده 
    6
    تشکر شده در
    5 پست

    پیش فرض پاسخ : قرار دادنcustome erorr 404 برای سئو

    نقل قول نوشته اصلی توسط hostnic نمایش پست ها
    درود بر شما
    مراحل زیر را انجام دهیذ :

    1.ایجاد کردن صفحه 404: ابتدا یک فایل 404 با پسوند پی اچ پی ایجاد کرده و داخل آن بنویسید صفحه مورد نظر موجود نیست.پ

    فایل .htaccess روت را باز کنید در پایین کد
    RewriteEngine On
    کد زیر را قرار دهید
    ErrorDocument 404 /404.php
    ErrorDocument: مسیر فایل ارور آپاچی سرور را مشخص می کند در صورتی که فایل ساخته شده باشد آن را فراخوانی می کند در غیر اینصورت از مسیر پیش فرض سرور استفاده می کند
    برای ساخت دیگر خطاهای آپاچی ابتدا به مدیریت دیتالایف و به قسمت صفحات اضافی بروید و برروی ایجاد صفحه جدید کلیک کنید مسیر http://damaneshoma.com/admin.php?mod=static&action=addnew
    در قسمت آدرس صفحه: 404 را وارد کنید،
    و در قسمت عنوان صفحه: عنوان صفحه مورد نظر برای خطای 404 (Not Found) را انتخاب کنید، برای مثال: خطای 404
    سپس در قسمت متن صفحه: متن مورد نظر برای نمایش توضیح برای خطا را وارد کنید، برای مثال: آدرس مورد نظر یافت نشد!!!
    حالا فایل htaccess. را باز کنید و به دنبال کد زیر بگردید:
    RewriteEngine On
    و بعد از آن کد زیر را قرار دهید:
    ErrorDocument 404 /index.php?do=static&page=404
    حالا می توانید برای مشاهده این خطای ایجاد شده برای مثال به آدرس Damaneshoma.com/021.jpg مراجعه کنید در صورت که تصویر وجود نداشته باشد صفحه 404 شما به نمایش در می آید
    د
    خیلی ممنون از راهنماییهاتون اما من با C#.net برنامه نویسی کردم ممنون میشم کارهایی که باید در .net برای 404 باید انجام بدم رو بفرمایید
    با سپاس

  6. تعداد تشکر ها از neda_sh به دلیل پست مفید


  7. #4
    عضو انجمن hostnic آواتار ها
    تاریخ عضویت
    Oct 2012
    محل سکونت
    تهران
    نوشته ها
    137
    تشکر تشکر کرده 
    134
    تشکر تشکر شده 
    80
    تشکر شده در
    71 پست

    پیش فرض پاسخ : قرار دادنcustome erorr 404 برای سئو

    در تمام برنامه های کاربردی وب (Web Applications) دو نوع خطا وجود دارد: 1- خطاهای شرطی (Conditional). 2- خطاهای غیر شرطی (Unconditional). خطاهای شرطی مربوط به قوانین منطقی حرفه هستند در حالیکه خطاهای غیر شرطی ممکن است بواسطه کاهش سرعت شبکه، از دسترس خارج شدن پایگاه داده، از دسترس خارج شدن سرور و … رخ دهند. ASP.NET تکنیکهای گوناگونی جهت مقابله با خطاهای مذکور ارائه می دهد. این مقاله به بررسی فایل پیکربندی وب (Web Configuration) جهت بیان خطا و استفاده از سفارشی کردن خطا می پردازد.
    :Web.Config فایل
    در ASP، خصوصیات پیکربندی (Configuration) برنامه ها در فرمت داده های باینری کد شده ذخیره می شوند. آنها می توانند یا از طریق اسکریپت و یا از طریق کنسول IIS Manager در دسترس قرار بگیرند. برای مثال، اگر وبسایت ما روی یک سرور شرکت متفرقه میزبانی شود و ما بخواهیم صفحات خطای سفارشی برای وبسایتمان تهیه کنیم، لازم است که با آن شرکت تماس بگیریم و (با پرداخت هزینه) از آنها بخواهیم که وبسایتمان را با استفاده از IIS پیکربندی کنند. بنابراین یکی از مشکلات اصلی با این روش پیکربندی، عدم قابلیت انتقال است. هنگامیکه ویژگی های پیکربندی (Configuration Attributes) برنامه های ASP از یک کامپیوتر به کامپیوتر دیگری که از ابزار مدیریتی IIS (یا IIS Manager Tools) استفاده می کند انتقال داده می شود، می بایستی دوباره ایجاد و بصورت دستی قرار داده شوند. مشکل فوق با ظهور ASP.NET مرتفع شده است. ASP.NET یک رویکرد پیکربندی مبتنی بر برنامه نویسی XML را اتخاذ کرده است. ASP.NET دو فایل پیکربندی (Configuration) ارائه می دهد: یکی فایل machine.config و دیگری فایل web.config. فایل machine.config در واقع یک فایل پیکربندی سرور است که برای همه ی برنامه هایASP.NET مشترک است و بطور پیش فرض، در فولدر config واقع در مسیر /WinNT/Microsoft.NET/Framework/version/config نصب شده است. در مسیر مذکور منظور از version همان نسخه ی net framework. می باشد. از سوی دیگر web.config یک فایل پیکربندی برای برنامه های شخصی است. هر برنامه ASP.NET دارای یک فایل web.config است که در دایرکتوری wwwroot قرار داده شده است. این فایل ویژگی های برنامه وبی را که با آن در ارتباط است، مدیریت می کند. از آنجا که machine.config برای همه برنامه های ASP.NET مشترک است، تنها در شرایط محیطی بسیار خاص مستلزم تغییر می باشد. این فایل web.config است که در پیکربندی برنامه ها بکار گماشته می شود. فایل web.config را می توان برای تهیه صفحات خطای سفارشی برنامه استفاده کرد. برچسب های خطا در web.config:
    آن قسمت از فایل web.config که به سفارشی کردن خطا مربوط می شود، در زیر نشان داده شده است.
    <configuration>
    <system.web>
    <customErrors>
    <!—این قسمت را اصلاح کنید– >
    </customErrors>
    </system.web>
    </configuration>
    عنصر customErrors می بایستی برای هر گونه از خطاهای برنامه اصلاح شود. این عنصر دارای یک ویژگی به نام ”Mode” است که وضعیت (Mode) خطا را برای هر برنامه مشخص می نماید. حالت خطا می‌تواند On یا Off یا RemoteOnly باشد که توضیح هر کدام در زیر آمده است:

    • <customErrors mode=”On”>… </customErrors> : تنها پیام‌های خطای کاربر پسند(User-friendly) را نمایش می‌دهد. (متن خطای پیش‌فرض را نمایش نمی دهد.)


    • <customErrors mode=”Off”>… </customErrors> : تنها پیام‌های خطای پیش‌فرض را نمایش می دهد. (پیام‌های خطای کاربر پسند را نمایش نمی‌دهد.)


    • <customErrors mode=”RemoteOnly”>… </customErrors> :پیام های خطای پیش‌فرض / تفصیلی را برای کاربران سیستم وب سرور محلی نمایش می‌دهد. در این حالت، پیام‌های خطای کاربر پسند زمانی نمایش داده می شوند که از مکانی دیگر در دسترس باشند.


    یک مثال:
    یک پروژه با استفاده از VS.NET ساخته و آنرا “CustomErrorApp” بنامید. سپس فایل Web.config ساخته شده برای پروژه را مشاهده نمایید. توجه نمایید که وضعیت customErrors به صورت پیش فرض روی RemoteOnly قرار دارد: <CustomErrors mode=”RemoteOnly”/> یک وب فرم به نام main.aspx در پروژه ایجاد نمایید. کد زیر را در تابع Page_Load صفحه codebehind قرار بدهید.
    private void Page_Load (object sender, System.EventArgs e)
    }
    int a = 0;
    int b = 0;
    int i = a/b;
    {


    کد فوق یک استثناء تقسیم بر صفر(DivideByZero) را ارسال می نماید. سپس صفحه را کامپایل و اجرا کنید. Browser باز می شود و یک پیام خطای توصیفی دقیق را همانند شکل 1 نمایش می دهد.
    شکل 1
    هنگامیکه صفحه ما از یک کامپیوتر دیگر در دسترس قرار بگیرد، پیام خطای شکل 2 نمایش داده می شود.
    شکل 2

    همانطور که ملاحظه کردید، هنگامیکه صفحه ما از کامپیوتر وب سرور محلی و از یک کامپیوتر در جایی دیگر در دسترس قرار گیرد با دو پیام خطای متفاوت مواجه خواهیم شد. این ویژگی وضعیت RemoteOnly، برچسب (Tag) خطای سفارشی را در فایل Web.config بیان می کند. هنگامیکه صفحه ما از کامپیوتر محلی در دسترس قرار می گیرد، RemoteOnly پیام های خطای تفصیلی را نمایش می دهد. بنابراین مدیران و توسعه دهندگانی که بطور نرمال به سرور وب دسترسی دارند، یک گزارش تفصیلی از پیام خطا که بیان کننده ی مکان وقوع خطا و نوع خطا است دریافت می کنند. هنگامیکه صفحه از یک کامپیوتر Remote در دسترس قرار بگیرد، ASP.NET جزئیات خطا را مشخص نمی نماید بلکه تنها خطای زمان اجرا (Runtime) را بیان می کند. اگر ما بخواهیم یک گزارش خطای با جزئیات بیشتر را ببینیم، جدای از مکان دستیابی ما به صفحه وب (که می تواند محلی یا Remote باشد)، می توانیم وضعیت customErrors را به Off تغییر دهیم. <customErrors mode=”Off”/> در واقع با قرار دادن customErrors به وضعیت Off ، تنها می توانیم صفحات خطای تفصیلی ASP.NET را جدای از مکان دستیابی ما به صفحه وب، مشاهده نماییم.

    ویژگی تغییر مسیر (Redirect):
    زمانیکه main.aspx بصورت remote اجرا می شود (همانگونه که در شکل 2 مشاهده نمودید)، پیام خطا بصورت کاربرپسند و تفصیلی نخواهد بود. برای تغییر مسیر به یک صفحه خطای کاربرپسند، بایستی از ویژگی “defaultRedirect” در برچسب CustomErrors استفاده نمود. از ویژگی defaultRedirect تنها در وضعیت خطای “RemoteOnly” یا “On” می توان استفاده نمود. برای مثال یک صفحه خطا با نام error.aspx ایجا کنید که پیام زیر را نمایش دهد:
    یک خطا اتفاق افتاده است!
    حال بخش CustomErrors را بصورت زیر اصلاح نمایید:

    <customErrors mode=”RemoteOnly” defaultRedirect=”error.aspx“/>
    هنگامیکه صفحه main.aspx از کامپیوتر سرور محلی اجرا می شود، ما همچنان صفحه ی مشابه شکل 1 را دریافت خواهیم نمود. اگر از کامپیوتر Remote صفحه فوق را ببینیم، پیام خطای “یک خطا اتفاق افتاده است!” را دریافت می کنیم. در صورت قرار دادن customErrors در وضعیت On، صفحه خطای کاربرپسند ما برای هردو سیستم محلی و Remote قابل مشاهده خواهد بود. </”customErrors mode=”On” defaultRedirect=”error.aspx>

    ممکن است فایل مقصد (که به آن تغییر مسیر داده شده است)، یک فایل ASP یا ASPX یا حتی یک فایل ساده ی HTML باشد. بخش customErrors تنها برای درخواست های ASP.NET عمل می کند. اگر در زمان اجرای error.aspx خطایی اتفاق بیفتد، صفحه خطای بیان شده توسط IIS همچنان ظاهر خواهد شد که برای سفارشی کردن آن بایستی از طریق IIS اقدام کنیم. با اصلاح صفحه error.aspx جهت نمایش رشته جستار(query string) عبوری، قادر به دریافت اطلاعات نمایش داده شده در شکل 3 خواهیم بود.
    شکل 3
    در شکل فوق URL حاوی یک رشته جستار (querystring) با پارامتر “aspxerrorpath” است که منبع خطا را مشخص می کند. شکل 3 بیان میدارد که main.aspx صفحه ی مستعد خطا است. ظاهرا این تنها اطلاعات در دسترس از صفحه تغییر مسیر داده شده است. نوع و جزئیات خطایی که رویداده است، برای صفحات خطا بطور آماده در دسترس نیستند. به هر روی، می توان به راحتی این اطلاعات را توسط یک Error Handler بر روی یک صفحه مستعد خطا اجرا نمود و یا Application_Error را بر روی صفحه ی global.asax.cs اجرا نمود. در اینجا به شما نشان می دهیم که چگونه می توانید اطلاعات خطا را در main.aspx بدست آوریم. شما می توانید این اطلاعات را بصورت log ذخیره کنید یا آنرا از طریق ایمیل به مدیر شبکه ارسال فرمایید. در فایل main.aspx همانطور که در زیر مشاهده می نمایید، یک رسیدگی کننده ی خطا (Error Handler) برای استثناهای رسیدگی نشده (Unhandled Exceptions) اجرا می شود.
    شکل 4
    پرداختن به خطاهای بخصوص :
    ما می‌توانیم صفحه های خطای جداگانه ای را برای انواع گوناگون خطاهای HTTP ایجاد کنیم. برای مثال ، خطای HTTP 404 که به پیدا نشدن صفحه اشاره دارد و یا خطای HTTP 403 که خطای عدم دسترسی می‌باشد را می‌توان با شیوه‌های گوناگونی رسیدگی کرد. امر فوق با استفاده از اضافه کردن عناصر <error> به عنصر customErrors میسر می شود. برچسب‌های خطا در بر گیرنده ی دو ویژگی (Attribute) هستند:
    • statusCode : کد وضعیت خطا مانند، ۴۰۴، ۴۰۳، ۵۰۰ می‌باشد.
    • redirect : صفحه ی تغییر مسیر داده شده است.

    بخش customErrors مانند کد زیر خواهد شد:
    </”customErrors mode=”On” defaultRedirect=”error.aspx>
    </”error statusCode=”404″ redirect=”error404.aspx>
    </”error statusCode=”500″ redirect=”error500.aspx>
    <customErrors/>
    بسته به نوع وقوع، صفحه ی خطای مناسب ارسال می شود. اگر خطایی رخ دهد و کد وضعیت خطای آن زیر ۴۰۴ یا ۵۰۰ باشد، صفحه ی خطای پیش‌فرض معین شده (که در این مثال error.aspx است) نمایش داده می شود. چه زمانی باید از فایل web.config استفاده نمود؟
    همانطور که پیشتر اشاره شد، راه ‌های گوناگونی در رسیدگی به خطاها در زبان برنامه نویسی ASP.NET وجود دارد. با استفاده از بلوک های استثناء try/catch (Exception try/catch Blocks) یا با استفاده از فایل global.asax بهتر میتوان خطاهای شرطی را رسیدگی نمود. ابتدا رسیدگی کنندگان خطای مذکور فراخوانی می‌شوند. بخش web.config بعنوان آخرین مکانیزم دفاعی برای خطاهای رسیدگی شده در برنامه ی ASP.NET است. گر چه چنین تکنیک های رسیدگی خطای کارآمدی موجود می‌باشند، ولی web.config ظاهراً بهترین راه برای پرداختن به خطاهای غیر شرطی است. Web.config بهترین روش برای ارائه صفحات خطای سفارشی است.

    - - - Updated - - -

    در تمام برنامه های کاربردی وب (Web Applications) دو نوع خطا وجود دارد: 1- خطاهای شرطی (Conditional). 2- خطاهای غیر شرطی (Unconditional). خطاهای شرطی مربوط به قوانین منطقی حرفه هستند در حالیکه خطاهای غیر شرطی ممکن است بواسطه کاهش سرعت شبکه، از دسترس خارج شدن پایگاه داده، از دسترس خارج شدن سرور و … رخ دهند. ASP.NET تکنیکهای گوناگونی جهت مقابله با خطاهای مذکور ارائه می دهد. این مقاله به بررسی فایل پیکربندی وب (Web Configuration) جهت بیان خطا و استفاده از سفارشی کردن خطا می پردازد.
    :Web.Config فایل
    در ASP، خصوصیات پیکربندی (Configuration) برنامه ها در فرمت داده های باینری کد شده ذخیره می شوند. آنها می توانند یا از طریق اسکریپت و یا از طریق کنسول IIS Manager در دسترس قرار بگیرند. برای مثال، اگر وبسایت ما روی یک سرور شرکت متفرقه میزبانی شود و ما بخواهیم صفحات خطای سفارشی برای وبسایتمان تهیه کنیم، لازم است که با آن شرکت تماس بگیریم و (با پرداخت هزینه) از آنها بخواهیم که وبسایتمان را با استفاده از IIS پیکربندی کنند. بنابراین یکی از مشکلات اصلی با این روش پیکربندی، عدم قابلیت انتقال است. هنگامیکه ویژگی های پیکربندی (Configuration Attributes) برنامه های ASP از یک کامپیوتر به کامپیوتر دیگری که از ابزار مدیریتی IIS (یا IIS Manager Tools) استفاده می کند انتقال داده می شود، می بایستی دوباره ایجاد و بصورت دستی قرار داده شوند. مشکل فوق با ظهور ASP.NET مرتفع شده است. ASP.NET یک رویکرد پیکربندی مبتنی بر برنامه نویسی XML را اتخاذ کرده است. ASP.NET دو فایل پیکربندی (Configuration) ارائه می دهد: یکی فایل machine.config و دیگری فایل web.config. فایل machine.config در واقع یک فایل پیکربندی سرور است که برای همه ی برنامه هایASP.NET مشترک است و بطور پیش فرض، در فولدر config واقع در مسیر /WinNT/Microsoft.NET/Framework/version/config نصب شده است. در مسیر مذکور منظور از version همان نسخه ی net framework. می باشد. از سوی دیگر web.config یک فایل پیکربندی برای برنامه های شخصی است. هر برنامه ASP.NET دارای یک فایل web.config است که در دایرکتوری wwwroot قرار داده شده است. این فایل ویژگی های برنامه وبی را که با آن در ارتباط است، مدیریت می کند. از آنجا که machine.config برای همه برنامه های ASP.NET مشترک است، تنها در شرایط محیطی بسیار خاص مستلزم تغییر می باشد. این فایل web.config است که در پیکربندی برنامه ها بکار گماشته می شود. فایل web.config را می توان برای تهیه صفحات خطای سفارشی برنامه استفاده کرد. برچسب های خطا در web.config:
    آن قسمت از فایل web.config که به سفارشی کردن خطا مربوط می شود، در زیر نشان داده شده است.
    <configuration>
    <system.web>
    <customErrors>
    <!—این قسمت را اصلاح کنید– >
    </customErrors>
    </system.web>
    </configuration>
    عنصر customErrors می بایستی برای هر گونه از خطاهای برنامه اصلاح شود. این عنصر دارای یک ویژگی به نام ”Mode” است که وضعیت (Mode) خطا را برای هر برنامه مشخص می نماید. حالت خطا می‌تواند On یا Off یا RemoteOnly باشد که توضیح هر کدام در زیر آمده است:

    • <customErrors mode=”On”>… </customErrors> : تنها پیام‌های خطای کاربر پسند(User-friendly) را نمایش می‌دهد. (متن خطای پیش‌فرض را نمایش نمی دهد.)


    • <customErrors mode=”Off”>… </customErrors> : تنها پیام‌های خطای پیش‌فرض را نمایش می دهد. (پیام‌های خطای کاربر پسند را نمایش نمی‌دهد.)


    • <customErrors mode=”RemoteOnly”>… </customErrors> :پیام های خطای پیش‌فرض / تفصیلی را برای کاربران سیستم وب سرور محلی نمایش می‌دهد. در این حالت، پیام‌های خطای کاربر پسند زمانی نمایش داده می شوند که از مکانی دیگر در دسترس باشند.


    یک مثال:
    یک پروژه با استفاده از VS.NET ساخته و آنرا “CustomErrorApp” بنامید. سپس فایل Web.config ساخته شده برای پروژه را مشاهده نمایید. توجه نمایید که وضعیت customErrors به صورت پیش فرض روی RemoteOnly قرار دارد: <CustomErrors mode=”RemoteOnly”/> یک وب فرم به نام main.aspx در پروژه ایجاد نمایید. کد زیر را در تابع Page_Load صفحه codebehind قرار بدهید.
    private void Page_Load (object sender, System.EventArgs e)
    }
    int a = 0;
    int b = 0;
    int i = a/b;
    {


    کد فوق یک استثناء تقسیم بر صفر(DivideByZero) را ارسال می نماید. سپس صفحه را کامپایل و اجرا کنید. Browser باز می شود و یک پیام خطای توصیفی دقیق را همانند شکل 1 نمایش می دهد.
    شکل 1
    هنگامیکه صفحه ما از یک کامپیوتر دیگر در دسترس قرار بگیرد، پیام خطای شکل 2 نمایش داده می شود.
    شکل 2

    همانطور که ملاحظه کردید، هنگامیکه صفحه ما از کامپیوتر وب سرور محلی و از یک کامپیوتر در جایی دیگر در دسترس قرار گیرد با دو پیام خطای متفاوت مواجه خواهیم شد. این ویژگی وضعیت RemoteOnly، برچسب (Tag) خطای سفارشی را در فایل Web.config بیان می کند. هنگامیکه صفحه ما از کامپیوتر محلی در دسترس قرار می گیرد، RemoteOnly پیام های خطای تفصیلی را نمایش می دهد. بنابراین مدیران و توسعه دهندگانی که بطور نرمال به سرور وب دسترسی دارند، یک گزارش تفصیلی از پیام خطا که بیان کننده ی مکان وقوع خطا و نوع خطا است دریافت می کنند. هنگامیکه صفحه از یک کامپیوتر Remote در دسترس قرار بگیرد، ASP.NET جزئیات خطا را مشخص نمی نماید بلکه تنها خطای زمان اجرا (Runtime) را بیان می کند. اگر ما بخواهیم یک گزارش خطای با جزئیات بیشتر را ببینیم، جدای از مکان دستیابی ما به صفحه وب (که می تواند محلی یا Remote باشد)، می توانیم وضعیت customErrors را به Off تغییر دهیم. <customErrors mode=”Off”/> در واقع با قرار دادن customErrors به وضعیت Off ، تنها می توانیم صفحات خطای تفصیلی ASP.NET را جدای از مکان دستیابی ما به صفحه وب، مشاهده نماییم.

    ویژگی تغییر مسیر (Redirect):
    زمانیکه main.aspx بصورت remote اجرا می شود (همانگونه که در شکل 2 مشاهده نمودید)، پیام خطا بصورت کاربرپسند و تفصیلی نخواهد بود. برای تغییر مسیر به یک صفحه خطای کاربرپسند، بایستی از ویژگی “defaultRedirect” در برچسب CustomErrors استفاده نمود. از ویژگی defaultRedirect تنها در وضعیت خطای “RemoteOnly” یا “On” می توان استفاده نمود. برای مثال یک صفحه خطا با نام error.aspx ایجا کنید که پیام زیر را نمایش دهد:
    یک خطا اتفاق افتاده است!
    حال بخش CustomErrors را بصورت زیر اصلاح نمایید:

    <customErrors mode=”RemoteOnly” defaultRedirect=”error.aspx“/>
    هنگامیکه صفحه main.aspx از کامپیوتر سرور محلی اجرا می شود، ما همچنان صفحه ی مشابه شکل 1 را دریافت خواهیم نمود. اگر از کامپیوتر Remote صفحه فوق را ببینیم، پیام خطای “یک خطا اتفاق افتاده است!” را دریافت می کنیم. در صورت قرار دادن customErrors در وضعیت On، صفحه خطای کاربرپسند ما برای هردو سیستم محلی و Remote قابل مشاهده خواهد بود. </”customErrors mode=”On” defaultRedirect=”error.aspx>

    ممکن است فایل مقصد (که به آن تغییر مسیر داده شده است)، یک فایل ASP یا ASPX یا حتی یک فایل ساده ی HTML باشد. بخش customErrors تنها برای درخواست های ASP.NET عمل می کند. اگر در زمان اجرای error.aspx خطایی اتفاق بیفتد، صفحه خطای بیان شده توسط IIS همچنان ظاهر خواهد شد که برای سفارشی کردن آن بایستی از طریق IIS اقدام کنیم. با اصلاح صفحه error.aspx جهت نمایش رشته جستار(query string) عبوری، قادر به دریافت اطلاعات نمایش داده شده در شکل 3 خواهیم بود.
    شکل 3
    در شکل فوق URL حاوی یک رشته جستار (querystring) با پارامتر “aspxerrorpath” است که منبع خطا را مشخص می کند. شکل 3 بیان میدارد که main.aspx صفحه ی مستعد خطا است. ظاهرا این تنها اطلاعات در دسترس از صفحه تغییر مسیر داده شده است. نوع و جزئیات خطایی که رویداده است، برای صفحات خطا بطور آماده در دسترس نیستند. به هر روی، می توان به راحتی این اطلاعات را توسط یک Error Handler بر روی یک صفحه مستعد خطا اجرا نمود و یا Application_Error را بر روی صفحه ی global.asax.cs اجرا نمود. در اینجا به شما نشان می دهیم که چگونه می توانید اطلاعات خطا را در main.aspx بدست آوریم. شما می توانید این اطلاعات را بصورت log ذخیره کنید یا آنرا از طریق ایمیل به مدیر شبکه ارسال فرمایید. در فایل main.aspx همانطور که در زیر مشاهده می نمایید، یک رسیدگی کننده ی خطا (Error Handler) برای استثناهای رسیدگی نشده (Unhandled Exceptions) اجرا می شود.
    شکل 4
    پرداختن به خطاهای بخصوص :
    ما می‌توانیم صفحه های خطای جداگانه ای را برای انواع گوناگون خطاهای HTTP ایجاد کنیم. برای مثال ، خطای HTTP 404 که به پیدا نشدن صفحه اشاره دارد و یا خطای HTTP 403 که خطای عدم دسترسی می‌باشد را می‌توان با شیوه‌های گوناگونی رسیدگی کرد. امر فوق با استفاده از اضافه کردن عناصر <error> به عنصر customErrors میسر می شود. برچسب‌های خطا در بر گیرنده ی دو ویژگی (Attribute) هستند:
    • statusCode : کد وضعیت خطا مانند، ۴۰۴، ۴۰۳، ۵۰۰ می‌باشد.
    • redirect : صفحه ی تغییر مسیر داده شده است.

    بخش customErrors مانند کد زیر خواهد شد:
    </”customErrors mode=”On” defaultRedirect=”error.aspx>
    </”error statusCode=”404″ redirect=”error404.aspx>
    </”error statusCode=”500″ redirect=”error500.aspx>
    <customErrors/>
    بسته به نوع وقوع، صفحه ی خطای مناسب ارسال می شود. اگر خطایی رخ دهد و کد وضعیت خطای آن زیر ۴۰۴ یا ۵۰۰ باشد، صفحه ی خطای پیش‌فرض معین شده (که در این مثال error.aspx است) نمایش داده می شود. چه زمانی باید از فایل web.config استفاده نمود؟
    همانطور که پیشتر اشاره شد، راه ‌های گوناگونی در رسیدگی به خطاها در زبان برنامه نویسی ASP.NET وجود دارد. با استفاده از بلوک های استثناء try/catch (Exception try/catch Blocks) یا با استفاده از فایل global.asax بهتر میتوان خطاهای شرطی را رسیدگی نمود. ابتدا رسیدگی کنندگان خطای مذکور فراخوانی می‌شوند. بخش web.config بعنوان آخرین مکانیزم دفاعی برای خطاهای رسیدگی شده در برنامه ی ASP.NET است. گر چه چنین تکنیک های رسیدگی خطای کارآمدی موجود می‌باشند، ولی web.config ظاهراً بهترین راه برای پرداختن به خطاهای غیر شرطی است. Web.config بهترین روش برای ارائه صفحات خطای سفارشی است.

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. پاسخ ها: 3
    آخرين نوشته: March 16th, 2017, 04:34
  2. plesk erorr new domain
    توسط nemesis123 در انجمن پلسک Plesk
    پاسخ ها: 1
    آخرين نوشته: April 6th, 2014, 21:56
  3. erorr join domain
    توسط hssk در انجمن سرور مجازی
    پاسخ ها: 1
    آخرين نوشته: September 12th, 2013, 23:46

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •