Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > HTML и CSS
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.03.2009, 10:38   #1
чебургатор
Пользователь
 
Регистрация: 06.09.2008
Сообщений: 41
По умолчанию как не показывать ошибку 404

Посмотрите вот код
Код HTML:
<input id="pager" type="text" style="width: 70px"><br><input type="button" style="width: 30px" value="OK" onclick="window.location.href='http://www.sait.ru/stat/nomer'+document.getElementById('pager').value+'.html'">
Суть его в том, что при нажатии кнопки он показывает страницу типа ввв.сайт.ру/стат/номер(число введённое в окошечко).штмл Вопрос в том, можно ли сделать так, что если страницы с таким номером нет, то скрипт выводил бы заранее заданную страницу?
чебургатор вне форума Ответить с цитированием
Старый 16.03.2009, 10:44   #2
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Для решения данного вопроса в htaccess'e указать страницу, на которую будет осуществляться переход при данной ошибке:
Код:
ErrorDocument 404 /index.php
Поскольку в хидере статус-код еще останется 404-ым, то файле index.php нужно его изменить:
PHP код:
Header("Status: 200 OK"); 
PS. Если сайт - статический, т.е. в нем не используется скриптинг на РНР, то данный вопрос решить практически нереально, поскольку обычно где статический хостинг, там нет возможности менять серверные директивы (файл htaccess). Хотя некоторые хостеры дают возможность самому делать файл-редирект для ошибок (обычно это файлы с именами 404.html, error404.html..)

Последний раз редактировалось SkyM@n; 16.03.2009 в 10:50.
SkyM@n вне форума Ответить с цитированием
Старый 16.03.2009, 10:44   #3
Ozerich
Студент 1 курса
Форумчанин Подтвердите свой е-майл
 
Аватар для Ozerich
 
Регистрация: 27.06.2008
Сообщений: 959
По умолчанию

На PHP проверяешь наличие файла.
Если нету то открываешь одно окно иначе другое.
C++(STL, QT, WinInet) / DHTML(CSS) / JavaScript / PHP Developer
Ozerich вне форума Ответить с цитированием
Старый 16.03.2009, 10:52   #4
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Цитата:
Сообщение от Ozerich Посмотреть сообщение
На PHP проверяешь наличие файла.
Если нету то открываешь одно окно иначе другое.
Зачем так извращаться? А как вы проверите наличие файла?
SkyM@n вне форума Ответить с цитированием
Старый 16.03.2009, 10:55   #5
Ozerich
Студент 1 курса
Форумчанин Подтвердите свой е-майл
 
Аватар для Ozerich
 
Регистрация: 27.06.2008
Сообщений: 959
По умолчанию

Цитата:
Сообщение от SkyM@n Посмотреть сообщение
Зачем так извращаться? А как вы проверите наличие файла?
Согласен что твой способ лучше и проще.

А проверить могу с помощью функции
PHP код:
boolean file_exists (string filename
C++(STL, QT, WinInet) / DHTML(CSS) / JavaScript / PHP Developer
Ozerich вне форума Ответить с цитированием
Старый 16.03.2009, 10:59   #6
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Цитата:
Сообщение от Ozerich Посмотреть сообщение
А проверить могу с помощью функции
PHP код:
boolean file_exists (string filename
Тут обязательно указывать абсолютный путь к файлу на сервере, а узнать его на статическом хостинге обычно не предстоит возможным. А в динамическом хостинге страница может формироваться вообще другим РНР-скриптом (файлом).
SkyM@n вне форума Ответить с цитированием
Старый 18.03.2009, 09:38   #7
чебургатор
Пользователь
 
Регистрация: 06.09.2008
Сообщений: 41
По умолчанию

Блин, я не понял ничего. Чё такое htaccess? Можно поподробнее обьяснить? PHP сайт поддерживает.
чебургатор вне форума Ответить с цитированием
Старый 18.03.2009, 10:37   #8
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Цитата:
Сообщение от чебургатор Посмотреть сообщение
Блин, я не понял ничего. Чё такое htaccess? Можно поподробнее обьяснить? PHP сайт поддерживает.
Ну не надо же так наглеть!
Скажите, вы пробовали искать в гуле?
Если пробовали и нашли (а найти - это не предстоит никакого труда) - что вам непонятно из того, что вы нашли?
http://www.google.com/search?client=...utf-8&oe=utf-8
SkyM@n вне форума Ответить с цитированием
Старый 18.03.2009, 20:01   #9
чебургатор
Пользователь
 
Регистрация: 06.09.2008
Сообщений: 41
По умолчанию

То есть я должен создать файл ***.htaccess и в нём прописать перенаправление на определённую страницу при ошибке 404, я правильно понял? А вот это вставлять обязательно?
Код:
Header("Status: 200 OK");
чебургатор вне форума Ответить с цитированием
Старый 18.03.2009, 20:08   #10
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Цитата:
Сообщение от чебургатор Посмотреть сообщение
То есть я должен создать файл ***.htaccess и в нём прописать перенаправление на определённую страницу при ошибке 404, я правильно понял? А вот это вставлять обязательно?
Код:
Header("Status: 200 OK");
не ***.htaccess, а .htaccess
SkyM@n вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать прогу чтобы показывать сколько дней осталось до... Bigtyoma Общие вопросы Delphi 20 23.12.2016 06:23
Как Форму показывать поверх панели Windows chandrasecar Win Api 2 08.10.2008 19:37
Показывать-не показывать скрытые файлы и папки... Романнн Свободное общение 5 07.11.2007 13:16
Показывать ранг процесса в Диспетчере Задач как системный BanDit Win Api 1 30.07.2007 15:02