Как грамотнее реализовать ? Допустим, пользователь запросил страницу http://www.site.ru/page.html, а её нет. Как лучше сделать: 1. Прописать что-то типа "Location: /404.html" на page.html, а на 404.html отдать заголовок "HTTP/1.1 404 Not Found". 2. Или же и на page.html перед Location, и на 404.html отправить заголовок "HTTP/1.1 404 Not Found"? Рассматривается вариант без htaccess.
без? не надо тогда редиректить. отдай заголовок 404 и содержимое подходящее с вероятными исправлениями запроса.
В смысле оставить пользователя на page.html, но выдать заголовок 404? Меня в первую очередь интересует SEO-аспект. Не появятся ли в индексе дубли страниц? Когда только озадачился этим вопросом, нарыл в индексе пару сайтов, у которых что-то типа "Страница не найдена" присутствует в разном, но не единичном количестве. Например, page1.html - страница не найдена, page2.html - страница не найдена, page3.html - страница не найдена и так далее. Правда, я забыл глянуть. Может, там заголовок 404 не отдавался и поисковики думали, что это разные страницы.
Зачем пользователю показывать бестолковую 404 страничку (мол ты поц, не туда попал и иди гуляй), если можно ему показать морду или карту сайта, чтобы он сам на месте определился, куда ему надо?
Ему не надо показывать бестолковую 404 страничку. Ему надо показать умную 404 страничку, и ни в коем случае не редиректить.
завернуть всё на свои файлы как обычно. не понял. все запросы обрабатываются вашей CMS или вашими скриптами, и вы сами решаете где у вас 404 а где 200. Кто ж за вас решит...
я пишу свой движок и сторонние CMSки не использую... слышал что в настройках апача можно прописать адрес для 404..но у меня доступа туда нет
Код (Text): <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !=/favicon.ico RewriteRule ^.*$ index.php [L,QSA] </IfModule> фпирёт в данном случае запросы на файлы будут обработаны сервером. Но запросы на несуществующие урлы и файлы всё равно пойдут в index.php. Равно как и любые другие запросы, если такого файла не нашлось в папке.
спасибо. только вот боюсь у меня нет туда доступа(( я сейчас написал в службу поддержки..надеюсь на лучшее =)