ErrorDocument 404 с другим кодом ответа

Тема в разделе "Mod Rewrite / htaccess / ЧПУ", создана пользователем betatest, 23 июн 2010.

  1. betatest

    betatest

    Регистр.:
    3 дек 2007
    Сообщения:
    517
    Симпатии:
    127
    как можно реализовать аналог ErrorDocument 404 /page.htm

    что бы работало точно так же, но код ответа был другим - 200, например?

    и еще как аналогичную задачу реализовать - все страницы, которых нет на этом сайте, подменяются страницой (или страницами) с другого, а существующие - отображаются корректно?
     
  2. ZCFD

    ZCFD

    Регистр.:
    16 янв 2008
    Сообщения:
    989
    Симпатии:
    437
    какой движек?

    или копай в сторону

    RewriteCond %{REQUEST_FILENAME} !-f
     
  3. betatest

    betatest

    Регистр.:
    3 дек 2007
    Сообщения:
    517
    Симпатии:
    127
    да без движка - нет там ничего, только несколько оставшихся страниц - вот и надо остальные перенести, с помощью .htaccess

    уже кучу вариантов перебрал, не выходит каменный цветок :(
     
  4. CrashX

    CrashX В прошлом XSiteCMS

    Регистр.:
    6 июн 2008
    Сообщения:
    682
    Симпатии:
    112
    адрес каждой редиректить на новый адрес, если не изменился не создавать правило, я там писал когда то)) идея овно, но больше ничего в голову не пришло))

    правда сначала у меня карта прошлого проекта где я распарсил ее и создал правила на в соотвествии с новой картой сайта)))

    или же как вариант самому в пхп обабатывать заголовки и в случае неверного запроса выдавать разные ошибки или страницы...
     
  5. betatest

    betatest

    Регистр.:
    3 дек 2007
    Сообщения:
    517
    Симпатии:
    127
    как-то сумбурно, можно чуть подробнее
    нужно постараться с хтакссесс сделать
     
  6. diavolic

    diavolic

    Регистр.:
    17 мар 2010
    Сообщения:
    522
    Симпатии:
    102
    .htaccess

    Код:
    errordocument 404 /error.php
    
    error.php

    Код:
    <?
    	header ("Location: http://www.yandex.ru");
    ?>
    
    вместо www.yandex.ru вставь что нужно, или допиши обработку и сделай динамический урл
     
  7. CrashX

    CrashX В прошлом XSiteCMS

    Регистр.:
    6 июн 2008
    Сообщения:
    682
    Симпатии:
    112
    первое решение
    замена всех страниц на свою это просто
    примеры
    другое решение, "дурное" для небольшого колличества фаилов
    у вас есть карта сайта где и что лежало
    ее вы можете использовать для правил следующего вида, при этом исползуется 301 редирект
    решение другое обработка для выбранны категорий
    скажем были новости с частью адреса sport
    их мы редиректив в раздел спорт

    ----

    все вариации обработок зависят от того что вам нужно реализовать...

    поподробнее опишите что нужно ...
     
  8. 12121212

    12121212 Создатель

    Регистр.:
    21 июн 2008
    Сообщения:
    30
    Симпатии:
    0
    Эм нет, суть топика была не совсем в этом.

    По теме: Код 404 на 200 никак не заменить, только если вы перепишете апач или какой там у вас вебсервер, наверное.
    Как вариант можно зареврайтить все возможные варианты ошибок через регуляр экспрешн на какую-то существующую страницу, но это все равно не будет 200, а 301 как максимум : )
     
  9. betatest

    betatest

    Регистр.:
    3 дек 2007
    Сообщения:
    517
    Симпатии:
    127
    ну итог - это невозможно, получается :(

    вот такой вариант
    errordocument 404 /error.php
    нифига не перебрасывает, всё равно выдает 404 страницу

    а в виде
    errordocument 404 http://site.ru/error.php
    почему то отказывается работать вообще

    максимальный вариант это
    Redirect 301 /old/old.htm http://www.you.com/new.htm
    но перебирать все страницы - нереально

    вот если бы это как-то скрестить хотя бы с 301, но для условия ВСЕ НЕСУЩЕСТВУЮЩИЕ страницы - может хоть так как-то можно реализовать?
     
  10. ShoxMaster

    ShoxMaster

    Регистр.:
    3 дек 2008
    Сообщения:
    393
    Симпатии:
    150
    Код:
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule .* /[B]index.php[/B] [R=301,L]
    
    Только редиректить должно на существующую страницу, иначе будет редиректить до бесконечности.
     
    betatest нравится это.