شاید تا بحال به این فکر افتاده باشید که چگونه می توان شناسه مطالب را از آدرس سایت های جوملایی حذف کرد. برای اینکار می توان از افزونه هایی مثل acesef استفاده نمود. اما راه دیگر بدون استفاده از افزونه و تنها با ویرایش فایل router.php می باشد. برای اینکار ابتدا وارد کنترل پنل هاست خود شده سپس به می رویم.
components\com_content\router.php
و فایل روتر را ویرایش می کنیم. به ترتیب زیر عمل می کنیم.
در خط 27 این کد را
$advanced = $params->get('sef_advanced_link', 0);
به کد زیر تغییر می دهیم.
$advanced = $params->get('sef_advanced_link', 1);
در خط 208 نیز این کد را
$advanced = $params->get('sef_advanced_link', 0);
به کد زیر تغییر می دهیم.
$advanced = $params->get('sef_advanced_link', 1);
و به جای خطوط 228 تا 232
if (strpos($segments[0], ':') === false) {
$vars['view'] = 'article';
$vars['id'] = (int)$segments[0];
return $vars;
}
این خطوط را جایگزین می کنیم.
/*
if (strpos($segments[0], ':') === false) {
$vars['view'] = 'article';
$vars['id'] = (int)$segments[0];
return $vars;
}*/
فایل را ذخیره می نماییم.
با مراجعه به سایت خواهید دید که دیگر شناسه مطالب وجود ندارد. در صورتی که با خطای 404 برای مطالب مواجه شدید، یکبار ماژول مربوطه را باز نموده و دوباره ذخیره نمایید. این روش در جوملا 2.5.18 تست شده و بدونه هیچگونه مشکلی کار می کند.
نمونه سایت جهت مشاهده: نوین سامانه