Обращение к несуществующему элементу

  • 67 Ответов
  • 774 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

Есть сайт на Joomla 3.6.5. У него есть директория /images/... - думаю, все об этом знают.
Кто-то рекомендует ее закрывать в robots.txt, кто-то нет. Но вопрос не об этом. Допустим, мне надо, чтобы она была открыта.
В этой директории лежала какая-то картинка, допустим с именем image.jpg. Потом мы эту картинку удалили. И по идее, при обращении к ней должна появляться ошибка 404: site.com/images/image.jpg => 404 ошибка. Но этого не происходит. Вместо этого отображается просто одна из страниц сайта.
Т.е. мы имеем полный дубль, доступный по адресу местонахождения удаленной картинки. Как быть в таком случае? Как корректно настроить 404 ошибку в таком случае и почему она вообще не отображается сразу? Уже в нескольких местах задавал этот вопрос, но никакого ответа не получил до сих пор.

*

Онлайн voland

  • ********
  • 9939
  • [+]520 / [-]101
  • Пол: Мужской
  • СКАЙП утерян! Пишите в телеграм @volandku
    • Просмотр профиля
    • webstudio.pro
Это не сюда вопрос.
Всё зависит от настроек хостинга, их трясите

Это не сюда вопрос.
Всё зависит от настроек хостинга, их трясите
Такая ситуация уже была на 3 разных хостингах и 3 разных сайтах. Единственное, что между ними было общего - это Joomla.
И что интересно: удаляю другие картинки из /images/ - выдает 404 ошибку. Т.е. такая ситуация наблюдается лишь с некоторыми изображениями.
Куда можно копать?

*

Онлайн voland

  • ********
  • 9939
  • [+]520 / [-]101
  • Пол: Мужской
  • СКАЙП утерян! Пишите в телеграм @volandku
    • Просмотр профиля
    • webstudio.pro
Такая ситуация уже была на 3 разных хостингах и 3 разных сайтах. Единственное, что между ними было общего - это Joomla.
И что интересно: удаляю другие картинки из /images/ - выдает 404 ошибку. Т.е. такая ситуация наблюдается лишь с некоторыми изображениями.
Куда можно копать?
Тогда наверно дело в том, где и как картинка прописана.
Что за расширение, шаблон?
А вообще - ссылку в студию!!

Тогда наверно дело в том, где и как картинка прописана.
Что за расширение, шаблон?
А вообще - ссылку в студию!!
Ссылка: http://stopfire.su/images/13.jpg
Эта же страница: http://stopfire.su/protivopozharnye-raboty/protivopozharnyj-vodoprovod/ispytaniya
Шаблон самописный, простой. Расширений тоже по минимуму. Стараюсь стандартными средствами обходится.

*

Оффлайн SmokerMan

ну как бы так тоже откроется http://stopfire.su/images222/13.jpg :)
13 - это id материала скорее всего
главный пункт меню какой тип имеет?
по возможности его надо убрать со стандартных материалов com_content, тогда по идее должно быть нормально

ну как бы так тоже откроется http://stopfire.su/images222/13.jpg :)
13 - это id материала скорее всего
главный пункт меню какой тип имеет?
по возможности его надо убрать со стандартных материалов com_content, тогда по идее должно быть нормально
Действительно, id материала тоже 13.
Главный пункт меню - ссылка на избранные материалы.
Убрать - в смысле убрать со всех страниц?

*

Онлайн voland

  • ********
  • 9939
  • [+]520 / [-]101
  • Пол: Мужской
  • СКАЙП утерян! Пишите в телеграм @volandku
    • Просмотр профиля
    • webstudio.pro
htaccess стандартный?
Всякие sef-расширения или плагины стоят?
нгинкс или апач?

htaccess стандартный?
Всякие sef-расширения или плагины стоят?
нгинкс или апач?
Apache 2.2 + PHP 7, SEF-стандартный джумловский плагин.
Дополнительно стоит OSMetaFree - но он никак не влияет, т.к. на других сайтах с такими же "особенностями" его нет.

А вот, собственно, листинг .htaccess:

[spoiler]#
# for Joomla
# by sejunctus
# date: 21.09.2016
#

## запрещаем листинг корневых директорий. работает
IndexIgnore *
#####



## включаем базовые опции. работает
Options +FollowSymLinks
Options -Indexes
#####



## используем mod_rewrite
RewriteEngine on
#####



## убираем слеш на конце. работает
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ /$1 [R=301,L]
#####



##
RewriteCond %{REQUEST_URI} ^(.*)\&post=
RewriteRule ^(.*)\&post=(.*)$ $1 [R=301,L]

RewriteCond %{REQUEST_URI} ^(.*)\&sa=
RewriteRule ^(.*)\&sa=(.*)$ $1 [R=301,L]

RewriteCond %{QUERY_STRING} ^utm_source= [NC]
RewriteRule (.*) $1? [R=301,L]
#####



## настраиваем 404 ошибку. работает
# страница с 404 ошибкой в шаблоне, файл error.php
#####



## закрываем от распространенных эксплойтов
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]
#####



## редирект на главную
RewriteCond %{HTTP_HOST} ^www\.stopfire\.su$ [NC]
RewriteRule (.*) http://stopfire.su/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://stopfire.su/ [R=301,L]
#####



##
# Uncomment following line if your webserver's URL
# is not directly related to physical file paths.
# Update Your Joomla! Directory (just / for root).
##

# RewriteBase /



## настройки чпу Joomla
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_URI} !^/index\.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]
#####

## запрещаем загрузку файлов с внешних сайтов
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?stopfire.su/ [nc]
RewriteRule .*.(gif|jpg|png)$ http://stopfire.su/stopfire_ext_logo.png [nc]
#####

## BEGIN EXPIRES CACHING - JCH OPTIMIZE ##
<IfModule mod_expires.c>
  ExpiresActive on

# Perhaps better to whitelist expires rules? Perhaps.
  ExpiresDefault "access plus 1 month"

# cache.appcache needs re-requests in FF 3.6 (thanks Remy ~Introducing HTML5)
  ExpiresByType text/cache-manifest "access plus 0 seconds"

# Your document HTML
  ExpiresByType text/html "access plus 0 seconds"

# Data
  ExpiresByType text/xml "access plus 0 seconds"
  ExpiresByType application/xml "access plus 0 seconds"
  ExpiresByType application/json "access plus 0 seconds"

# Feed
  ExpiresByType application/rss+xml "access plus 1 hour"
  ExpiresByType application/atom+xml "access plus 1 hour"

# Favicon (cannot be renamed)
  ExpiresByType image/x-icon "access plus 1 week"

# Media: images, video, audio
  ExpiresByType image/gif "access plus 1 month"
  ExpiresByType image/png "access plus 1 month"
  ExpiresByType image/jpg "access plus 1 month"
  ExpiresByType image/jpeg "access plus 1 month"
  ExpiresByType video/ogg "access plus 1 month"
  ExpiresByType audio/ogg "access plus 1 month"
  ExpiresByType video/mp4 "access plus 1 month"
  ExpiresByType video/webm "access plus 1 month"

# HTC files (css3pie)
  ExpiresByType text/x-component "access plus 1 month"

# Webfonts
  ExpiresByType application/x-font-ttf "access plus 1 month"
  ExpiresByType font/opentype "access plus 1 month"
  ExpiresByType application/x-font-woff "access plus 1 month"
  ExpiresByType image/svg+xml "access plus 1 month"
  ExpiresByType application/vnd.ms-fontobject "access plus 1 month"

# CSS and JavaScript
  ExpiresByType text/css "access plus 1 year"
  ExpiresByType text/javascript "access plus 1 year"
  ExpiresByType application/javascript "access plus 1 year"

  <IfModule mod_headers.c>
    Header append Cache-Control "public"
  </IfModule>

</IfModule>
## END EXPIRES CACHING - JCH OPTIMIZE ##[/spoiler]

*

Оффлайн SmokerMan

htaccess стандартный?
Всякие sef-расширения или плагины стоят?
нгинкс или апач?
причем здесь это?
так работает стандартный роутер материалов)

*

Онлайн voland

  • ********
  • 9939
  • [+]520 / [-]101
  • Пол: Мужской
  • СКАЙП утерян! Пишите в телеграм @volandku
    • Просмотр профиля
    • webstudio.pro
причем здесь это?
так работает стандартный роутер материалов)
Ну здрасьте.
При стандартных настройках до него не доходят запросы с окончанием .jpg

Ну здрасьте.
При стандартных настройках до него не доходят запросы с окончанием .jpg
http://stopfire.su/sfsfsfsf/sfsfsfs/fs/fs/fs/fsf1/13 - тоже нет 404 ошибки.
Я так понимаю, что во всех случаях, когда будет фигурировать id материала, будет такая история

*

Онлайн voland

  • ********
  • 9939
  • [+]520 / [-]101
  • Пол: Мужской
  • СКАЙП утерян! Пишите в телеграм @volandku
    • Просмотр профиля
    • webstudio.pro
А вот, собственно, листинг .htaccess:

[spoiler]#
# for Joomla
# by sejunctus
# date: 21.09.2016
#

## запрещаем листинг корневых директорий. работает
IndexIgnore *
#####



## включаем базовые опции. работает
Options +FollowSymLinks
Options -Indexes
#####



## используем mod_rewrite
RewriteEngine on
#####



## убираем слеш на конце. работает
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ /$1 [R=301,L]
#####



##
RewriteCond %{REQUEST_URI} ^(.*)\&post=
RewriteRule ^(.*)\&post=(.*)$ $1 [R=301,L]

RewriteCond %{REQUEST_URI} ^(.*)\&sa=
RewriteRule ^(.*)\&sa=(.*)$ $1 [R=301,L]

RewriteCond %{QUERY_STRING} ^utm_source= [NC]
RewriteRule (.*) $1? [R=301,L]
#####



## настраиваем 404 ошибку. работает
# страница с 404 ошибкой в шаблоне, файл error.php
#####



## закрываем от распространенных эксплойтов
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]
#####



## редирект на главную
RewriteCond %{HTTP_HOST} ^www\.stopfire\.su$ [NC]
RewriteRule (.*) http://stopfire.su/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://stopfire.su/ [R=301,L]
#####



##
# Uncomment following line if your webserver's URL
# is not directly related to physical file paths.
# Update Your Joomla! Directory (just / for root).
##

# RewriteBase /



## настройки чпу Joomla
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_URI} !^/index\.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]
#####

## запрещаем загрузку файлов с внешних сайтов
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?stopfire.su/ [nc]
RewriteRule .*.(gif|jpg|png)$ http://stopfire.su/stopfire_ext_logo.png [nc]
#####

## BEGIN EXPIRES CACHING - JCH OPTIMIZE ##
<IfModule mod_expires.c>
  ExpiresActive on

# Perhaps better to whitelist expires rules? Perhaps.
  ExpiresDefault "access plus 1 month"

# cache.appcache needs re-requests in FF 3.6 (thanks Remy ~Introducing HTML5)
  ExpiresByType text/cache-manifest "access plus 0 seconds"

# Your document HTML
  ExpiresByType text/html "access plus 0 seconds"

# Data
  ExpiresByType text/xml "access plus 0 seconds"
  ExpiresByType application/xml "access plus 0 seconds"
  ExpiresByType application/json "access plus 0 seconds"

# Feed
  ExpiresByType application/rss+xml "access plus 1 hour"
  ExpiresByType application/atom+xml "access plus 1 hour"

# Favicon (cannot be renamed)
  ExpiresByType image/x-icon "access plus 1 week"

# Media: images, video, audio
  ExpiresByType image/gif "access plus 1 month"
  ExpiresByType image/png "access plus 1 month"
  ExpiresByType image/jpg "access plus 1 month"
  ExpiresByType image/jpeg "access plus 1 month"
  ExpiresByType video/ogg "access plus 1 month"
  ExpiresByType audio/ogg "access plus 1 month"
  ExpiresByType video/mp4 "access plus 1 month"
  ExpiresByType video/webm "access plus 1 month"

# HTC files (css3pie)
  ExpiresByType text/x-component "access plus 1 month"

# Webfonts
  ExpiresByType application/x-font-ttf "access plus 1 month"
  ExpiresByType font/opentype "access plus 1 month"
  ExpiresByType application/x-font-woff "access plus 1 month"
  ExpiresByType image/svg+xml "access plus 1 month"
  ExpiresByType application/vnd.ms-fontobject "access plus 1 month"

# CSS and JavaScript
  ExpiresByType text/css "access plus 1 year"
  ExpiresByType text/javascript "access plus 1 year"
  ExpiresByType application/javascript "access plus 1 year"

  <IfModule mod_headers.c>
    Header append Cache-Control "public"
  </IfModule>

</IfModule>
## END EXPIRES CACHING - JCH OPTIMIZE ##[/spoiler]
Это не стандартный.
Смените временно на стандартный и проверьте

Это не стандартный.
Смените временно на стандартный и проверьте
Вернул стандартный - то же самое. Дело не в .htaccess значит

*

Онлайн voland

  • ********
  • 9939
  • [+]520 / [-]101
  • Пол: Мужской
  • СКАЙП утерян! Пишите в телеграм @volandku
    • Просмотр профиля
    • webstudio.pro
Вернул стандартный - то же самое. Дело не в .htaccess значит
Не может такого быть!
У меня всё работает и на остальных сайтах тоже.

Не может такого быть!
У меня всё работает и на остальных сайтах тоже.
А можете дать ссылку на какой-нибудь сайт? Интересно проверить.
И работаете со стандартным .htaccess?

*

Оффлайн SmokerMan

При стандартных настройках до него не доходят запросы с окончанием .jpg
с чего-это? все прекрасно доходит
введи любой id материала с .jpg и все откроется

есть плагин no doubles или как-то так он называется, может он поможет в решении этого вопроса

*

Онлайн voland

  • ********
  • 9939
  • [+]520 / [-]101
  • Пол: Мужской
  • СКАЙП утерян! Пишите в телеграм @volandku
    • Просмотр профиля
    • webstudio.pro
А можете дать ссылку на какой-нибудь сайт? Интересно проверить.
И работаете со стандартным .htaccess?
Ну вот блог например,

*

Онлайн voland

  • ********
  • 9939
  • [+]520 / [-]101
  • Пол: Мужской
  • СКАЙП утерян! Пишите в телеграм @volandku
    • Просмотр профиля
    • webstudio.pro
с чего-это? все прекрасно доходит
введи любой id материала с .jpg и все откроется

есть плагин no doubles или как-то так он называется, может он поможет в решении этого вопроса

Ввел, например

*

Оффлайн SmokerMan

Ну вот блог например,
ахах)
http://www.joomla15.ru/107.php

у тебя там явно не стандартно что-то)

*

Онлайн voland

  • ********
  • 9939
  • [+]520 / [-]101
  • Пол: Мужской
  • СКАЙП утерян! Пишите в телеграм @volandku
    • Просмотр профиля
    • webstudio.pro
ахах)
http://****.php

у тебя там явно не стандартно что-то)
причем тут php?
Естественно такой запрос будет передан в роутер

Стандартный файл .htaccess, равно как и тот, что сейчас одинаково ничего не меняют.
Значит, дело либо в самом роутере Joomla, либо надо в .htaccess что-то дописать.
Только вот что дописать? И в чем может быть причина такого поведения?
Как вариант: пробовать отключать по очереди плагины и расширения, до тех пор пока проблема не исчезнет?

*

Онлайн voland

  • ********
  • 9939
  • [+]520 / [-]101
  • Пол: Мужской
  • СКАЙП утерян! Пишите в телеграм @volandku
    • Просмотр профиля
    • webstudio.pro
Стандартный файл .htaccess, равно как и тот, что сейчас одинаково ничего не меняют.
Значит, дело либо в самом роутере Joomla, либо надо в .htaccess что-то дописать.
Только вот что дописать? И в чем может быть причина такого поведения?
Как вариант: пробовать отключать по очереди плагины и расширения, до тех пор пока проблема не исчезнет?
А ссылка есть?
И хостинги точно разные?
Такое только в папке images? В этой папке случаем нет своего .htaccess?

Ввел, например

Я обратил внимание, что в некоторых случаях у вас на сайте появляется одна страница с ошибкой 404, а в некоторых другая страница с ошибкой.
Например: http://www.joomla15.ru/вертска-454.html и http://www.joomla15.ru/108.png
Как это правильно настроить?

*

Оффлайн SmokerMan

причем тут php?
Естественно такой запрос будет передан в роутер
да при том, что он не должен туда передаваться)
вот тебе пример чистая J стоит последняя
http://elisa-office.ru/materialy
материал спокойно открывается
http://elisa-office.ru/materialy/1.jpg
http://elisa-office.ru/materialy/1.php

не вводи людей в заблуждение)

*

Онлайн voland

  • ********
  • 9939
  • [+]520 / [-]101
  • Пол: Мужской
  • СКАЙП утерян! Пишите в телеграм @volandku
    • Просмотр профиля
    • webstudio.pro
Я обратил внимание, что в некоторых случаях у вас на сайте появляется одна страница с ошибкой 404, а в некоторых другая страница с ошибкой.
Например: http://www.joomla15.ru/вертска-454.html и http://www.joomla15.ru/108.png
Как это правильно настроить?
Ну да.
В первом случае движок обрабатывает запрос и подставляет свою страницу 404
Во втором же, до него запрос даже не доходит, нгинкс (хотя голый апач должен себя вести также) просто видит что такого файла нет и отдаёт свой ответ 404.
Первый случай - это только запросы без "расширения" или с "расширением" HTML, htm, php (может еще несколько)

А ссылка есть?
И хостинги точно разные?
Такое только в папке images? В этой папке случаем нет своего .htaccess?
Хостинги разные: spaceweb, timeweb.
Своих .htaccess в отдельных папках нет.
Вот ссылка на форум с моим первым вопросом: http://searchengines.guru/showthread.php?t=944995

*

Онлайн voland

  • ********
  • 9939
  • [+]520 / [-]101
  • Пол: Мужской
  • СКАЙП утерян! Пишите в телеграм @volandku
    • Просмотр профиля
    • webstudio.pro
да при том, что он не должен туда передаваться)
вот тебе пример чистая J стоит последняя
http://elisa-office.ru/materialy
материал спокойно открывается
http://elisa-office.ru/materialy/1.jpg
http://elisa-office.ru/materialy/1.php

не вводи людей в заблуждение)
Я и не ввожу..
У меня на всех хостингах много лет так работало!
Может в последних версиях что поменяли?
Или... этот вот твой пример на каком сервере крутится?

Я и не ввожу..
У меня на всех хостингах много лет так работало!
Может в последних версиях что поменяли?
Или... этот вот твой пример на каком сервере крутится?
Мне кажется, впору уже писать разработчикам Joomla )))