Создаем плагин на событие OnPageNotFound:
<?php if ($modx->event->name != "OnPageNotFound") return; $mailto = 'mail@ilyaut.ru'; $uri = $_SERVER['REQUEST_URI']; if (substr($uri, 0, 1) == "/") $uri = substr($uri, 1); $params = array( 'referer' => $_SERVER['HTTP_REFERER'], 'backlink' => urldecode($_SERVER['HTTP_REFERER']), 'searchbot' => $_SESSION['searchrobot'], 'searchtext' => $_SESSION['searchtext'], 'uri' => $uri ); $modx->getService('mail', 'mail.modPHPMailer'); $modx->mail->setHTML(true); $modx->mail->set(modMail::MAIL_SUBJECT, 'Уведомление о 404 странице'); $modx->mail->set(modMail::MAIL_BODY, $modx->getChunk('404notify', $params)); $modx->mail->set(modMail::MAIL_SENDER, $modx->getOption('emailsender')); $modx->mail->set(modMail::MAIL_FROM, $modx->getOption('emailsender')); $modx->mail->set(modMail::MAIL_FROM_NAME, $modx->getOption('site_name')); $modx->mail->address('to', $mailto); if (!$modx->mail->send()) { $modx->log(xPDO::LOG_LEVEL_ERROR, 'An error occurred while trying to send the email: ' . $modx->mail->mailer->ErrorInfo); } $modx->mail->reset();
И чанк 404notify для оформления письма:
<h2>Обнаружен переход на несуществующую страницу</h2> <p>Пользователь открыл ссылку и был отправлен на страницу 404: <a href="[[++site_url]][[+uri]]">[[++site_url]][[+uri]]</a></p> <p><strong>Источник перехода:</strong> <a href="[[+referer]]">[[+backlink]]</a></p> Поисковая система: <strong>[[+searchbot]]</strong>, запрос: <strong>[[+searchtext]]</strong>
Поисковую систему и запрос определяет плагин addCrawler, про который писал Виктор Банев.
Подскажите пожалуйста, как можно с Вами связаться?
напишите на почту pirat19[собака]gmail.com
Спасибо!
$mailto = 'mail@ilyaut.ru';, полагал что получателя то же из emailsender плагин берет.
Соответственно наслал писем я с десяток на mail@ilyaut.ru
Виноват)
при открытии в админке документа, с использованием визуального редактора, происходит обращение к файлу изображения, в путь к файлу добавляется папка manager что приводит к отправке сообщения 404:
«Пользователь открыл ссылку и был отправлен на страницу 404: http://***********.ru/manager/images/admin/klapanu/FP/fp.gif
Источник перехода: http://***********.ru/manager/index.php?a=30&id=105»
На самом деле изображения все есть ( папка пока в корне /images/admin/** так как сайт переносился с джумлы).
но почему то не определяется поисковой запрос который реализован по инструкции community.modx-cms.ru/blog/tips_and_tricks/17110.html
Подскажите, ваш плагин выше отрабатывает если открываются виртуальные страницы (в моем случае генерируются страницы пользователей по их нику). Физически этих страниц на сайте нет, есть маршрутизатор. Как заставить плагин не реагировать на виртуальные страницы?