Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.191.174.168] |
|
Сообщ.
#1
,
|
|
|
Добрый день!
Есть сайт на php 5.6, хостинг на nic.ru (RU-CENTER) - структура каталогов на хостинге у nic.ru такая: mysite.ru\docs - в этой папке хранится весь сайт. mysite.ru\errordocs - хранятся html-страницы с ошибками, например mysite.ru\errordoc\404.html - страница, отображаемая пользователю, в случае возникновения 404 ошибки. Стоит задача, если в строке запроса передано неверное значение параметра, то необходимо выводить пользователю 404 ошибку т.е. страницу 404.html. Как это сделать? Например, если пользователь в браузере набрал неправильное значение параметра www.mysite.ru/art.php?art=unknownvalue выдавать 404-ошибку т.к. у параметра art значения могут быть только art1 и art2. Ниже даю шаблон моей страницы <html> ... <body> ... <div id="page"> ... <? $art = $_GET['art']; switch($art) : default : if(isset($art) { //ЗНАЧЕНИЕ ПАРАМЕТРА НЕВЕРНО - необходимо вызвать 404-ошибки т.е. страницы errordoc/404.html на сервере } else { include_once('arts/artdef.php'); } break; case ("art1"); include_once('arts/art1.php'); break; case ("art2"); include_once('arts/art2.php'); break; endswitch; ?> </div> ... </body> </html> |
Сообщ.
#2
,
|
|
|
Вместо комментов попробуй вставить кусок кода:
header("HTTP/1.0 404 Not Found"); echo '<html> <head> <meta http-equiv="Refresh" content="0;url=http://mysite.ru/errordoc/404.html" /> </head><body></body> </html>';' exit; Не тестил, но думаю нужно копать в эту сторону. Важно: чтобы функция header вызывалась до любого вывода, иными словами - нужно малеха переделать код, и не вставлять PHP код в середину страницы. |