Убрать index.php в конце ссылки

Иногда бывает необходимо убрать в конце ссылки  index.php для более благоприятного восприятия поисковыми системами Вашей ссылочной массы.

Для того чтобы убрать в конце index.php поместите в код вашего шаблона код:

$string = "https://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
if(stristr($string, 'index.php') === FALSE) {
} else {
$newstring = str_replace("index.php", "", $string);
$url = "Location:".$newstring;
header( $url, true, 301 );
}

Если Ваш сайт работает без SSL сертификата то вместо https:// поставьте http://

Этот вопрос актуален для Joomla + Virtuemart, также есть вопрос при постраничной навигации при переходе с 2-3  станицы на первую в ссылку добавляется ?limitstart=0.

Чтобы убрать его из ссылки необходимо дописать такой код:

$string = "https://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
if(stristr($string, 'index.php') === FALSE) {
} else {
$newstring = str_replace("index.php", "", $string);
$url = "Location:".$newstring;
header( $url, true, 301 );
}
if(stristr($string, '?limitstart=0') === FALSE) {
} else {
$newstring = str_replace("?limitstart=0", "", $string);
$url = "Location:".$newstring;
header( $url, true, 301 );
}

Код простой и по сути универсальный. Единственный момент что желательно вставлять его в шаблон категории товаров default.php в конце шаблона.