Перейти к содержимому

MOAB

Как заставить отдавать 404 ошибку все адреса заканчивающиеся на html

404 html

  • Войдите, чтобы ответить
Сообщений в теме: 14

#1 snatch

snatch

    Почетный

  • Активный участник
  • PipPipPipPipPip
  • 1 500 сообщений
1 770
  • ИзFuturama

Отправлено 04 Январь 2016 - 02:17

Всем привет, взломали сайт, залили кучу html страниц, которыми к несчастью нажрался гугл и теперь в выдаче много всякого ...овна.
Можно ли через htaccess все статичные страницы заканчивающиеся .html заставить отдавать код 404?
Дело в том что весь хлам то я вычистил и при обращении к этим адресам joomla отдает 404 ошибку, но есть ряд адресов по которым joomla по непонятным мне причинам все же отдает 200ok.
У меня все настоящие урлы сейчас выглядят примерно так:
site.ru/kategotiya/stranica
а мне залили всякий хлам который нужно убрать из выдачи:
site.ru/aBRakadaBra.html

#2 Sky

Sky

    Продвинутый

  • Основатель
  • PipPipPip
  • 209 сообщений
604

Отправлено 04 Январь 2016 - 14:07

RewriteEngine On

RewriteCond %{REQUEST_URI} /.*\.html$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ /index.php?set_404=true [L]

Можно что-то типо такого, пример до рабочего вида вам еще попинать надо

#3 snatch

snatch

    Почетный

  • Активный участник
  • PipPipPipPipPip
  • 1 500 сообщений
1 770
  • ИзFuturama

TC Отправлено 04 Январь 2016 - 18:14

Sky, спасибо буду пробовать!

#4 asssa

asssa

    Бывалый

  • Участник
  • PipPip
  • 84 сообщений
66
  • ИзПонауехало

Отправлено 04 Январь 2016 - 20:40

htaccess в чем-то похож на религию вуду - если знать как, то можно и мертвых воскрешать)

#5 snatch

snatch

    Почетный

  • Активный участник
  • PipPipPipPipPip
  • 1 500 сообщений
1 770
  • ИзFuturama

TC Отправлено 05 Январь 2016 - 15:40

Что то у меня не получилось, очевидно что не правильно что то сделал.
Сейчас мой htaccess выглядит так
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule .* index.php [F]
# RewriteBase /
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_URI} !^/index\.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]
Sky, может подскажите как правильно сделать, с учетом уже имеющихся записей?

#6 snatch

snatch

    Почетный

  • Активный участник
  • PipPipPipPipPip
  • 1 500 сообщений
1 770
  • ИзFuturama

TC Отправлено 07 Январь 2016 - 01:26

C 404 так и не вышло, добавил запрет доступа к файлу, правда он отдает код 403
<Files "*.html">
deny from all
</Files>


#7 asssa

asssa

    Бывалый

  • Участник
  • PipPip
  • 84 сообщений
66
  • ИзПонауехало

Отправлено 13 Январь 2016 - 02:45

а если с помощью модреврайт
RewriteEngine on
RewriteRule ^404/$ /*.html [L]
а потом
ErrorDocument 404 http://путь/404

не прокатит? если что, сильно не ржать)

Сообщение отредактировал asssa: 13 Январь 2016 - 03:13


#8 Spinne

Spinne

    Зануда™

  • Основатель
  • PipPipPipPipPip
  • 2 007 сообщений
3 427
  • Излесу, вестимо

Отправлено 14 Январь 2016 - 01:44

А если первоначальный совет применить чуть проще?

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule \.html$ /index.php?set_404=true [L]
И все это до остальных прописей, сразу после RewriteEngine on
Ник не менял, подпись поменяю позже. Ваш Зануда. Он же AHP-net, но это уже там

#9 snatch

snatch

    Почетный

  • Активный участник
  • PipPipPipPipPip
  • 1 500 сообщений
1 770
  • ИзFuturama

TC Отправлено 14 Январь 2016 - 12:05

Spinne, спасибо, все получилось как надо! теперь 404
правда заработало вот в таком варианте
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule .* index.php [F]
# RewriteBase /
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_URI} !^/index\.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule \.html$ /index.php?set_404=true [L]
RewriteRule .* index.php [L]

а если делал как вы сказали

Просмотр сообщенияSpinne сказал:

И все это до остальных прописей, сразу после RewriteEngine on
то при обращении к html, сервер говорит - 200 ok

#10 Drakon

Drakon

    Балбес

  • Основатель
  • PipPipPipPipPip
  • 1 962 сообщений
1 488
  • Изmsk

Отправлено 14 Январь 2016 - 19:42

отставить извраты!

все лишнее запрещаем в роботсе, благо тут шаблонно катит ..

а все обработки только скриптами!

если все верно сделано, то после удаления мусора и должно быть 404.
недорогие и надежные vds - инструмент поднятия ТИЦ
монетизация с ссылок: тут и тут
...
успевает тот, кто не спешит (с)

#11 snatch

snatch

    Почетный

  • Активный участник
  • PipPipPipPipPip
  • 1 500 сообщений
1 770
  • ИзFuturama

TC Отправлено 14 Январь 2016 - 19:53

Drakon, я уже написал в старпосте что

Просмотр сообщенияsnatch сказал:

весь хлам то я вычистил и при обращении к этим адресам joomla отдает 404 ошибку, но есть ряд адресов по которым joomla по непонятным мне причинам все же отдает 200ok.
мне помимо левого кода еще и 5000 с лишним html страниц залили, весь код я нашел и удалил, 5000 тоже уже тю-тю, но джумла по некоторым урлам показывает мой контент, почему я не знаю, тоесть где то пятая часть удаленных страниц всеже открывается но уже с моим контентом а не вражеским.
Почему joomla так себя ведет я не знаю, но вижу по логам, что гугл до сих пор обращается к этим страницам.

#12 Van'Denis

Van'Denis

    Продвинутый

  • Участник
  • PipPipPip
  • 256 сообщений
410

Отправлено 15 Январь 2016 - 00:20

Просмотр сообщенияsnatch (14 Январь 2016 - 19:53) писал:

Drakon, я уже написал в старпосте что
что гугл до сих пор обращается к этим страницам.
И будет. Всегда будет. Он такой... :)
Что попало в его БД, то там и сталось.
Могу обосновать, но "старички" сделают это лучше меня.

#13 snatch

snatch

    Почетный

  • Активный участник
  • PipPipPipPipPip
  • 1 500 сообщений
1 770
  • ИзFuturama

TC Отправлено 15 Январь 2016 - 11:43

Van'Denis, поэтому я и не стал это безобразие закрывать роботсом

Update: Cейчас выяснилось что я не могу попасть в админку, которая как обычно у joomla находится по адресу site.ru/administrator/

#14 Byik

Byik

    Новенький

  • Новичок
  • Pip
  • 1 сообщений

Отправлено 15 Январь 2017 - 17:55

Если используешь не стандартный шаблон, то верни все как есть в htaccess , а в свой шаблон перетащи error.php из стандартного. Мне помогло , 404 на сервере.

#15 GogA

GogA

    Продвинутый

  • Основатель
  • PipPipPip
  • 350 сообщений
379
  • ИзMoscow

Отправлено 16 Январь 2017 - 00:30

У меня была аналогичная проблема, залили дор на блог http://gogolev.net , году в 12-13, не помню.

Как бы я не пытался выпилить его из яндекса, он всё равно его индексирует. В предыдущей иттерации отдавал в header 404, а потом (вот тут ошибка была) header'ом location менял на страницу ошибки 404 (в итоге заголовок менялся и код был 302, перемещён временно).

В итоге яндекс вебмастер пару лет постоянно у меня индексировал снова и снова эти страницы, в надежде что они вернутся.

Делал в начале через .htaccess, но это для маньяков. Нечитаемый вид и одна ошибка и слетает куча правил. Сделал в index.php (у меня cms drupal, запросы идут через index.php все):

<?php

$thispathtmp = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];

if (strpos($thispathtmp, "base=") !== false) {
	header("HTTP/1.1 410 Gone");
	die();
}

if (strpos($thispathtmp, "newsid=") !== false) {
	header("HTTP/1.1 410 Gone");
	die();
}

if (strpos($thispathtmp, "&id=") !== false) {
	header("HTTP/1.1 410 Gone");
	die();
}

if (strpos($thispathtmp, "&text=") !== false) {
	header("HTTP/1.1 410 Gone");
	die();
}

Ну и делаю сейчас через 410 ответ сервера, удалён навсегда.

Результат на скрине, но думаю ещё 1-2к страниц должно уйти.



Похожие темы



Также с тегом 404, html

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных



© 2019 SMO&SEO форум «WEBIMHO» — продвижение и создание сайтов, интернет-маркетинг

По вопросам рекламы на форуме и цены на рекламу
Все материалы SEO форума разрешены к копированию только с установкой гиперактивной ссылки на webimho.ru,
тем, кто этого не сделает, мы оторвем руки и ноги и поменяем местами,
а когда выйдем из тюрьмы, опять оторвем и опять поменяем.


Россия, г. Москва

Мы в соцсетях: twitter | вконтакте | facebook | livejournal