За последние 24 часа нас посетили 17956 программистов и 1582 робота. Сейчас ищут 1334 программиста ...

PHP меняет заголовки ответов Apachа. Как изменить поведение?

Тема в разделе "Установка PHP", создана пользователем main_eagle, 5 июн 2012.

  1. main_eagle

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

    С нами с:
    5 июн 2012
    Сообщения:
    7
    Симпатии:
    0
    На сервере файлы с именами вида xxx.html, xxx.en.html и xxx.ru.html
    Apache сконфигурирован выдавать в заголовке
    с xxx.html
    Код (Text):
    1.  Content-Type: text/html
    с xxx.en.html
    Код (Text):
    1.  Content-Type: text/html
    2.  Content-Language: en
    c xxx.ru.html
    Код (Text):
    1.  Content-Type: text/html; charset=koi8-r
    2.  Content-Language: ru
    На старой машине с Apache/1.3.33(rus) и PHP 4.4.0 так все и выдается.
    На новой машине с Apache/2.2.22 и PHP 5.3.11 это поведение сохраняется только при комментировании
    хэндлера на PHP, стоит его открыть и Content-Type: ведет себя в соответствии с default_charset из php.ini
    на старой машине эта опция в php.ini тоже была, но апачевские ответы не корежила.

    Как вернуть старое поведение php?
     
  2. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Re: PHP меняет заголовки ответов Apachа. Как изменить поведе

    а у вас html файлы передаются на исполнение пхп?
     
  3. main_eagle

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

    С нами с:
    5 июн 2012
    Сообщения:
    7
    Симпатии:
    0
    Re: PHP меняет заголовки ответов Apachа. Как изменить поведе

    естественно :)
     
  4. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Re: PHP меняет заголовки ответов Apachа. Как изменить поведе

    что в этом естественного? =) не хотите пересесть на нормальную CMS с нормальной реализацией мультиязычности?
     
  5. main_eagle

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

    С нами с:
    5 июн 2012
    Сообщения:
    7
    Симпатии:
    0
    Re: PHP меняет заголовки ответов Apachа. Как изменить поведе

    естественно отдавать php на обработку то, что требуется обработать php.

    1. этот сайт делается с 98 года, php3 стала stable и сайт преехал с перла на php. Можно было бы приделать с помощью auto_prepend_file анализатор расширений, отправляющий соответствующие хидеры, но могут быть нехорошие интерференции с давно забытым кодом, а его много.
    2. CMS - переделка сайта, я надеюсь ограничится правкой конфига и/или перекомпиляцией компонентов.
     
  6. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Re: PHP меняет заголовки ответов Apachа. Как изменить поведе

    не проще тогда написать функу, проверяющую запрошеный урл и подставляющую нужные заголовки в зависимости от языка? это ж две минуты.
     
  7. main_eagle

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

    С нами с:
    5 июн 2012
    Сообщения:
    7
    Симпатии:
    0
    Re: PHP меняет заголовки ответов Apachа. Как изменить поведе

    я бы предпочел решить проблему не трогая кода.
     
  8. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Re: PHP меняет заголовки ответов Apachа. Как изменить поведе

    оу...

    зачем тогда вы обновили пхп? о_О
     
  9. main_eagle

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

    С нами с:
    5 июн 2012
    Сообщения:
    7
    Симпатии:
    0
    Re: PHP меняет заголовки ответов Apachа. Как изменить поведе

    новая машина ->новая FreeBSD->новые порты ...
    кроме того старый Apache был собран не динамически-> проблема подключения новых модулей.
    Много причин начать новую жизнь, но нужно, чтобы веб переехал и заработал сразу, а переделывать контент по мере необходимости.
     
  10. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Re: PHP меняет заголовки ответов Apachа. Как изменить поведе

    может приурочить еще и редизайн? что-то мне подсказывает...

    нет, я ничем не смогу вам помочь при таком подходе.
     
  11. main_eagle

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

    С нами с:
    5 июн 2012
    Сообщения:
    7
    Симпатии:
    0
    Re: PHP меняет заголовки ответов Apachа. Как изменить поведе

    почитал про директивы Apache, похоже, что у Header set колдунство сильнее, чем у PHP. Будем рыть туда.
    А редизайном я займусь, когда функционал гарантировано заработает.
     
  12. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Re: PHP меняет заголовки ответов Apachа. Как изменить поведе

    дюкнюкем тоже так думал.
     
  13. main_eagle

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

    С нами с:
    5 июн 2012
    Сообщения:
    7
    Симпатии:
    0
    Re: PHP меняет заголовки ответов Apachа. Как изменить поведе

    я как-то решил проблему - прописал в конфиге Apachа
    Код (Text):
    1. SetEnV RCOD koi8-r
    2. SetEnvIf Request_URI "\.ru\.html$" RLANG
    3. Header set Content-Type "text/html; charset=%{RCOD}e" env=RLANG
    Плюс -можно в .htaccess менять кодировку выставляя SetEnV RCOD ...
    минус - совсем отменить нельзя.