Меня удивляет что в RUNCMS так много завязано с 302 редиректом. По умолчанию например после инсталяции у нас стартовый модуль новостей (на который кидает с 302 редиректом), а не индексная страница. Тоесть сразу после установки мы даем роботу понять что морда временно перемещена на modules/news/. Этот дурдом надо конечно разработчикам решать, но мы ждать не будем.
Итак 2 простых решения нашей проблемы:
1. Изменяем в админке стартовый модуль на НЕТ и заполняем морду сайта блоками с информацией (контентом)
2. В файле .htaccess пишем такие строки
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/$
RewriteRule ^(.*)$ /modules/news/index.php [L]
Вместо строки /modules/news/index.php нужно писать тот модуль, который у вас стартовый. На этом сайте именно такая конструкция. Использовать естесственно только один из вариантов, оба сразу не стоит :)
Кстати в сборку 2.2 не входит файл .htaccess вы уж его создайте, он нам не раз пригодится.
Теперь делаем страницу которая будет показываться при 404 ошибке (файл не найден). Создаем в корне сайта файл 404.php со следующим содержанием
<?
include ("mainfile.php");
include (RCX_ROOT_PATH."/header.php");
$meta['title'] = "404 - страница не найдена" ;
$RCXOption['show_rblock'] = 1;
?>
<h1>Ошибка 404</h1>
Тут пишите что хотите, типа привед юзер
<?
include (RCX_ROOT_PATH."/footer.php");
?>
Далее в файле .htaccess поверх добавленных нами строк пишем
ErrorDocument 404 /404.php
Теперь юзер не найдя у нас страничку будет попадать на описание данной ошибки, типа извини братан не писал я ничего такого на сайте.
Некоторые вместо перекидывания на 404.php делают редирект на морду, тогда запись в файле .htaccess (я потом буду звать его хитасис) будет такой
ErrorDocument 404 /
Правда при таком раскладе пользователь не сможет понять, вроде как искал другую страницу, а мне морду сайта показывают.
Теперь самое главное, в файл robots.txt пишем строку
Disallow: /404.php