настройки .htaccess

Futuris
На сайте с 05.07.2014
Offline
74
758

Добрый день, при вводе URL типа mysite.com/?attachment_id=750 показывается Главная страница сайта. Что нужно прописать в .htaccess, чтобы отдавалась ошибка 404? Подскажите плиз.))

FireRoot
На сайте с 14.01.2016
Offline
11
#1

Добрый,

Для начала, предоставьте текущее содержимое файла ".htaccess", что лежит в корне вашего сайта.

Futuris
На сайте с 05.07.2014
Offline
74
#2
FireRoot:
Добрый,
Для начала, предоставьте текущее содержимое файла ".htaccess", что лежит в корне вашего сайта.

png Screen.png
dma84
На сайте с 21.04.2009
Offline
168
#3

А что, по вашему, должно открываться если движок никак не обрабатывает QUERY_STRING?

Я вам открою страшную тайну https://www.yandex.ru/?aasdasdnasldnasd

exarh
На сайте с 28.03.2010
Offline
503
#4
dma84:
А что, по вашему, должно открываться если движок никак не обрабатывает QUERY_STRING?

Я вам открою страшную тайну https://www.yandex.ru/?aasdasdnasldnasd

ТС просто желает редиректнуть 301-м несуществующие страницы на главную, что бы вес не терять внешних ссылок .

Монетизируй (https://publishers.propellerads.com/#/pub/auth/signUp?ref_id=tnE) свой сайт с выгодой
W
На сайте с 18.09.2006
Offline
86
#5

подобный вопрос уже задавался на форуме ( /ru/forum/563067 ), варианты решения там представлены

В вашем случае будет что-то типа такого


RewriteCond %{QUERY_STRING} ^attachment_id=\d+
RewriteRule .* - [R=404,L]

Если конечно речь идет только о параметре attachment_id - но судя по всему у вас будет любой параметр работать похожим образом. Вам нужно ставить более универсальный обработчик для QUERY_STRING, чтобы ловило все.

Futuris
На сайте с 05.07.2014
Offline
74
#6
dma84:
А что, по вашему, должно открываться если движок никак не обрабатывает QUERY_STRING?

Я вам открою страшную тайну https://www.yandex.ru/?aasdasdnasldnasd

По-моему лучше затратить немного больше труда и пойти на англоязычный форум. Там как правило по делу отвечают 😂 Но все не так плохо - здесь тоже иногда люди помогают. Спасибо им :)

---------- Добавлено 22.08.2016 в 16:55 ----------

wanick:
подобный вопрос уже задавался на форуме ( /ru/forum/563067 ), варианты решения там представлены

В вашем случае будет что-то типа такого


RewriteCond %{QUERY_STRING} ^attachment_id=\d+
RewriteRule .* - [R=404,L]


Спасибо, это работает! ☝

Futuris
На сайте с 05.07.2014
Offline
74
#7

Я поторопился написать что проблема решена после применения рекомендаций:

RewriteCond %{QUERY_STRING} ^attachment_id=\d+

RewriteRule .* - [R=404,L]

К сожалению происходит просто редирект страницы с параметрами mysite.com/?attachment_id=750 на саму страницу ошибки mysite.com/404/ которая сама физически существует, и естественно выдает 200 ОК. Нужно же, чтобы не редирект происходил, а непосредственно URL mysite.com/?attachment_id=750 отдавался как несуществующий (404), поскольку его действительно на сайте нет, а Гугл нашел какие-то отребья от старого движка и выдает их как ошибки.

Спасибо за ссылку - там нет решения моего вопроса. Если кто может что-то посоветовать - буду благодарен. :)

tommy-gung
На сайте с 22.11.2006
Offline
287
#8
Futuris:
mysite.com/404/ которая сама физически существует, и естественно выдает 200 ОК

она не должна возвращать 200, 404 должно быть

исправляйте

Здесь не могла быть ваша реклама
Futuris
На сайте с 05.07.2014
Offline
74
#9
tommy-gung:
она не должна возвращать 200, 404 должно быть
исправляйте

Спасибо, за ваше ценное мнение я как раз и спрашиваю как это сделать.

tommy-gung
На сайте с 22.11.2006
Offline
287
#10

Futuris, ну я не телепат и не могу знать, не зная какая cms и не видя сайт

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий