За последние 24 часа нас посетили 15053 программиста и 1760 роботов. Сейчас ищут 1567 программистов ...

неправильно работает mail() на 404 странице

Тема в разделе "Работа с почтой", создана пользователем senex, 14 июл 2012.

  1. senex

    senex Активный пользователь

    С нами с:
    14 июл 2012
    Сообщения:
    7
    Симпатии:
    0
    Всем привет! Сделал на сайте свою 404 страницу. На странице поместил код с функцией mail(), в в .htaccess дописал строку ErrorDocument 404 http://site/404.php. Сама страница загружается как и положено - только при error 404. А вот письма почему-то идут при каждой загрузке любой страницы сайта и даже при переходах по внутренним ссылкам. Нашел готовый скрипт 404 страницы - ничего не изменилось. Почему так происходит?
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    htaccess покажи
     
  3. senex

    senex Активный пользователь

    С нами с:
    14 июл 2012
    Сообщения:
    7
    Симпатии:
    0
    Содержимое файла .htaccess:
    <Files '*.tpl'>
    deny from all
    </Files>
    ErrorDocument 404 http://site/404.php

    Только что протестировал скрипт на другом сайте и на другом хостинге - точно так же как очумелый забрасывает письмами. Выходит, файл 404.php открывается чаще чем я думаю. Вопрос - кем открывается и зачем?
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ок

    вариант такой: есть у тебя картинка/скрипт/css, которым ты путь неправильно указываешь. и есть они на каждой странице.
     
  5. senex

    senex Активный пользователь

    С нами с:
    14 июл 2012
    Сообщения:
    7
    Симпатии:
    0
    может быть. поищу в шаблонах
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    В фаербаге глянь =) или в любой другой встроенной в оперу/хром/фф штуке.
    в логе запросов сервера глянь.

    а не выискивай =) так сто лет можно искать.
     
  7. senex

    senex Активный пользователь

    С нами с:
    14 июл 2012
    Сообщения:
    7
    Симпатии:
    0
    Спасибо! Нашлось в css и в скрипте комментариев. Вообще надо будет придумать что-то типа фильтра, чтобы mail() срабатывал только при фактической загрузке 404
     
  8. artem-Kuzmin

    artem-Kuzmin Активный пользователь

    С нами с:
    16 фев 2012
    Сообщения:
    809
    Симпатии:
    0
    Добавь в нем проверку на то чтобы mail если урл $_SERVER['REQUEST_URI']=='/404.php'
     
  9. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    дык он хочет рапортавать видимо о каждом 404 на почту

    расскажи про движок сайта
     
  10. senex

    senex Активный пользователь

    С нами с:
    14 июл 2012
    Сообщения:
    7
    Симпатии:
    0
    Движка нет. Сайт на простом шаблоне header, content, footer и все. Если что нужно, по ходу добавляю.
     
  11. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    контент откуда берется?
     
  12. senex

    senex Активный пользователь

    С нами с:
    14 июл 2012
    Сообщения:
    7
    Симпатии:
    0
    У меня наоборот каждая php страница берет header и footer из шаблона
     
  13. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    а сами страницы лежат в *.php? или типа в *.html? а урлы как выглядят?
     
  14. senex

    senex Активный пользователь

    С нами с:
    14 июл 2012
    Сообщения:
    7
    Симпатии:
    0
    Страницы имеют расширение *.php. В общем виде код страницы выглядит так:
    <?php
    include $_SERVER['DOCUMENT_ROOT']."/templates/header.tpl";
    ?>
    контент страницы
    <?php
    include $_SERVER['DOCUMENT_ROOT']."/templates/footer.tpl";
    ?>