زمان کنونی: ۷-۷-۱۴۰۵, ۰۲:۱۴ صبح درود مهمان گرامی! (ورود — ثبت نام)


ارسال پاسخ 
 
امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
خطای 404 در آدرس بار صفحه اصلی
۹-۶-۱۳۹۵, ۰۵:۲۵ صبح
ارسال: #9
RE: خطای 404 در آدرس بار صفحه اصلی
برای حل مشکلات شما عملیات زیر در سایت شما به صورت رایگان انجام شد !

1 - بروزرسانی جوملا به نسخه 3.6.2
2 - بروزرسانی Akeeba Backup به نسخه 5.1.4
3 - بروزرسانی فارسی ساز و تاریخ شمسی
4 - * هدیه * نصب کامپوننت RSFirewall! نسخه 2.11 تجاری (آخرین نسخه موجود)
5 - فعال سازی قابلیت Gzip
6 - بهینه سازی و رفع خطای کامل از وب سایت !!

برای رفع مشکل خطای ذکر شده هم ابتدا گزینه منویی با نام خطای 404 در منوی hide ساختم و با مطلب "خطای 404" ارتباطش دادم سپس آی دی اونو تو فایل php مربوط به قالب قرار دادم که دیگه فقط برای صفحات خطای 404 اون مطلب لود بشه ...


||-- تکه کد قرار داده شده در فایل error.php (صرفاً بخاطر اطمینان از امنیت کارهای صورت گرفته) :

<?php
defined('_JEXEC') or die;
if (!isset($this->error)) {
    $this->error = JError::raiseWarning(404, JText::_('JERROR_ALERTNOAUTHOR'));
    $this->debug = false;
}

//get language and direction
$doc = JFactory::getDocument();
$this->language = $doc->language;
$this->direction = $doc->direction;

/////////////////////////////////////////////////////
// ARTICLE ID
$errorpage = 131;
/////////////////////////////////////////////////////

//get error code
$errorcode = $this->error->getCode();


if($errorcode=='404') {
  
  //get a db connection.
  $db = JFactory::getDbo();
  
  //create a new query object.
  $query = $db->getQuery(true);
  
  //select all records from the user profile table where key begins with "custom.".
  //order it by the ordering field.
  $query->select($db->quoteName(array('id')));
  $query->from($db->quoteName('#__content'));
  $query->where($db->quoteName('id') . ' = '. $db->quote($errorpage));
  
  //reset the query using our newly populated query object.
  $db->setQuery($query);
  
  //load the results
  $results = $db->loadResult();
  
  require_once(JPATH_BASE.'/components/com_content/helpers/route.php');
  
  if($results) {
    if ($errorcode == '404') {
      header('HTTP/1.1 301 Moved Permanently');
      header('Location: '.JRoute::_(ContentHelperRoute::getArticleRoute($errorpage), false));
      header('Connection: close');
      exit;
    }
  }
}

?>

شایان ذکر است که برای خصوصی سازی صفحه 404 فقط کافیست به مطالب سایت خود رفته و مطلب " خطای 404 " را ویرایش و اطلاعات دلخواه را جایگزین کنید ...!

||-- و در آخر قرار دادن کد های زیر در فایل htaccess جهت بهینه سازی و امنیت بیشتر

<files ".htaccess">
order allow,deny
deny from all
</files>

<files configuration.php>
order allow,deny
deny from all
</files>
Options All -Indexes

# pass the default character set
AddDefaultCharset utf-8

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

هر کجا خواستید تا براتون توضیح بدم!

نتیجه بعد از بهینه سازی کل سایت :

- سریع شدن سرعت بارگزاری صفحات (1.3 ثانیه)
- امنیت فوق العاده بیشتر نسبت به حالت قبلی
- رسیدن به درجه 86 امنیت جهانی!!
- خصوصی سازی صفحه 404
- قفل کردن آدرس وب سایت بر روی www
- امن بودن فایل های درون تمام پوشه ها !!!
- حفاظت از فایل htaccess
- حفاظت از فایل configuration.php
و ...


موفق باشید

  
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ بازگشت به بالا
 سپاس شده توسط peyman.ict
ارسال پاسخ 


پیام‌های داخل این موضوع
RE: خطای 404 در آدرس بار صفحه اصلی - ابوذر مرادی - ۹-۶-۱۳۹۵ ۰۵:۲۵ صبح

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان