# redirect all requests to index.php loader
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
ПРОБОВАЛ ВОТ ТАК ТОЖЕ НЕ РАБОТАЕТ
# redirect all requests to index.php loader
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
ErrorDocument 404 /err404.html
</IfModule>
Браузер и сервер общаются по протоколу HTTP или HTTPS. При вводе адреса в адресную строку браузера или при отправке формы происходят запросы определённого формата. В ответ на этот запрос сервер отравляет ответ определённого формата. Этот ответ включает в себя: версию протокола, результат запроса, заголовки и тело ответа. Код 404 - это один из множества результатов запроса. К примеру 403 (ошибка доступа), 500 (критическая ошибка сервера). По умолчанию сервер отправляет результат 200 (успешное выполнение). Страница же передаётся в теле ответа.
Т.е. для того чтобы получить собственную страницу с ошибкой 404. Вам надо отослать собственную страницу с результатом 404. Длю установки результата в php есть функция http_response_code
.
Пример:
<?php
$requestUri = $_SERVER['REQUEST_URI'];
// Простая адресация
if ($requestUri == '/') {
drawMainPage();
} elseif ($requestUri == '/second') {
drawSecondPage();
} else {
drawNoFoundPage();
}
// Главная страница
function drawMainPage() {
echo '<h1>My site</h1><hr><p>Main page</p>';
}
// Вторая страница
function drawSecondPage() {
echo '<h1>My site</h1><hr><p>Second page</p>';
}
// Ошибка 404
function drawNoFoundPage() {
http_response_code(404);
echo '<h1>My site</h1><hr><p>Page not found</p>';
}
Устанавливать результат (функция http_response_code
) как и вывод заголовков (функция header
) необходимо делать раньше чем вывод тела ответа.
Странно, что никто это ещё не посоветовал. В .htaccess
(за пределами IfModule
):
ErrorDocument 404 /err404.html
И так по строчке для всех страниц и ошибок, которые нужны.
Виртуальный выделенный сервер (VDS) становится отличным выбором
значит имеем мы страничку, на ней плеер, чатпринцип работы, отправляет отрывки видео (длительностью в 2 секунды)(media
Сценарий следующий: пользователь отмечает "чекбоксами" варианты в соответствующем мета-поле в админпанели и на выходе (в зависимости от выбранного...
Админка(PHP+MySql) + кроссплатформенное приложение(JavaScript) для android и iphone