jkm

Рейтинг
120
Регистрация
20.02.2014

Тогда осталось дополнить проверкой что запрошенный адрес не является папкой


RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* /404.php [L]

Вообще странно что RewriteCond %{REQUEST_FILENAME} !-f срабатывает для существующих файлов.

Тогда можно попробытвать составить правила относительно %{DOCUMENT_ROOT}


RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteRule .* /404.php [L]

или так


RewriteCond %{THE_REQUEST} \ (\S+)
RewriteCond %{DOCUMENT_ROOT}%1 !-f
RewriteRule .* 404.php [L]

А вообще файл 404.php существует и доступен. Какой код возвращается при обращении напрямую к адресу /404.php

Если нужно для несуществующих страниц отображать содержимое /deleted.html и отдавать вместо 404 код 200, то помогут такие правила


RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule \.html$ /deleted.html [L]

Ставить в самом верху сразу после RewriteEngine On

Указать собственную страницу для ошибки 404 можно так


ErrorDocument 404 /deleted.html

Можете показать содержимое .htaccess?

По запросу проверка заголовков http находится полно онлайн сервисов, например http://www.bertal.ru/

Проверять User-Agent


RewriteCond %{HTTP_USER_AGENT} Yandex
RewriteRule ^redirect - [L,F]

Ставить в самое начало файла сразу после RewriteEngine On

Похожий эффект с помощью фильтров можно получить в ffmpeg http://ffmpeg.zeranoe.com/builds/

Сначала фильтром pad добавляем сверху и снизу по 10 пикселей и заливаем их белым цветом, потом применяем фильтр perspective.


ffplay -vf pad=iw:ih+20:0:10:white,perspective=0:0:W:-200:0:H:W:H+200 movie.avi


RewriteRule ^component/jdownloads/viewdownload/ http://site.com/ [R=301,L]

Ставить в самом начале файла сразу после RewriteEngine On

Всего: 749