Рейтинг:1

Использование файла htaccess для 410 (исчезнувшая страница) предотвращает использование изображений

флаг it

Я закрываю сайт. Я удалил сайт WordPress, и единственная страница, оставшаяся в домене, — это страница, объявляющая о постоянном закрытии сайта. URL-адрес страницы выключения...

http://mydomain.co.uk/index.htm

также есть папка, содержащая 4 изображения (3x *.jpg; 1x *.gif). Эти изображения являются частью страницы выключения. Таким образом...

http://mydomain.co.uk/images/

Когда я ввожу URL-адрес: mydomain.co.uk - страница mydomain.co.uk/index.htm отображается правильно с правильно отображаемыми изображениями на странице. Изображения на странице используют этот тип ссылки...

<img alt="Shutdown graphic" src="images/exampleimage.jpg" border="0" height="200" width="300" />

который работает правильно.

Однако я пытаюсь, чтобы все вызовы mydomain.co.uk направлялись в корневую папку и отображали index.htm. Таким образом, все следующие URL-адреса будут отображать «index.htm»…

mydomain.co.uk
мой домен.com
mydomain.co.uk/любая папка/
mydomain.co.uk/любая папка/*.*

Для этого я попробовал этот файл .htaccess...

ErrorDocument 410 /index.htm
# Инициировать 410 Gone для всех пользовательских запросов
Условия перезаписи %{ENV:REDIRECT_STATUS} ^$
Правило перезаписи ^ - [G]

Этот файл .htaccess корректно работает для всех типов URL. Однако не удается отобразить изображения из папки изображений на странице выключения.

Как я могу изменить файл .htaccess, чтобы он позволял отображать изображения?

Я попытался изменить ссылку в теге, чтобы изображения находились в корневом каталоге, а также поместить изображения в корневую папку. К сожалению, файл .htaccess по-прежнему не позволяет использовать изображения.

Похоже, что файл .htaccess препятствует использованию изображений в файле index.htm. Если я удалю файл .htaccess, страница снова будет работать правильно (с изображениями) для mydomain.co.uk, но не для других URL-адресов.

Любые идеи, пожалуйста?

Рейтинг:0
флаг kz

Вам нужно внести пару изменений...

  1. Вам необходимо разрешить неограниченный доступ к вашим изображениям. Итак, в случае с вышеизложенным правилом, вам нужно сделать исключение для вашего /картинки каталог (точнее, любой запрос файла в каталоге /картинки каталог). Или, что предпочтительнее, только для четырех изображений, на которые вы ссылаетесь.

    • Вы также можете отправить X-Robots-Tag: noindex Заголовок ответа HTTP, чтобы поисковые системы не пытались индексировать эти изображения. Или, возможно, заблокировать /картинки каталог в robots.txt (если эти изображения ранее не были проиндексированы и не должны быть удалены).

    Например, сразу после RewriteEngine директива (перед вашим существующим правилом):

    # Предотвратить блокировку следующих изображений
    # (и установить переменную окружения NOINDEX)
    RewriteCond %{REQUEST_URI} /exampleimage1\.jpg$ [ИЛИ]
    RewriteCond %{REQUEST_URI} /exampleimage2\.jpg$ [ИЛИ]
    RewriteCond %{REQUEST_URI} /exampleimage3\.jpg$ [ИЛИ]
    RewriteCond %{REQUEST_URI} /example\.gif$
    Правило перезаписи ^images/. - [E=НОИНДЕКС:1,L]
    
    # Отправить заголовок ответа HTTP "X-Robots-Tag" для этих изображений
    Набор заголовков X-Robots-Tag "noindex" env=NOINDEX
    

    В качестве альтернативы вы можете проверить HTTP Реферер заголовок, когда эти изображения запрашиваются, и разрешить их блокировку, когда Реферер не является вашим сайтом (например, прямые запросы от поисковых систем). Однако это менее надежно, так как Реферер заголовок ненадежен. Вы можете получить пользователей, которые не видят ваши изображения.

    Например, вместо приведенного выше вы должны использовать следующее (пример.com ваш домен):

    # Разрешить доступ к изображениям, когда "Referer" является текущим сайтом
    RewriteCond %{HTTP_REFERER} ^https?://(www\.)?example\.com(/|$) [NC]
    Правило перезаписи ^images/. - [Л]
    
  2. Когда вы ссылаетесь на эти изображения в HTML-источнике документа об ошибке, вам нужно использовать относительный URL-адрес корня (начинающийся с косой черты) или абсолютный URL-адрес (со схемой + именем хоста), а не относительный URL-адрес, как вы делаете в настоящее время. В противном случае, когда делается запрос на изображение на другой глубине пути, например. /foo/бар, браузер попытается загрузить изображение /foo/images/exampleimage.jpg - которого не существует.

    Например, используя корневой URL-адрес:

    <img alt="Графика выключения" src="/images/exampleimage.jpg"
    

Альтернатива — использовать URI данных (без внешних изображений)

Вместо этого используйте URI данных и встраивайте изображения непосредственно в источник HTML (без внешних изображений). Справка: https://css-tricks.com/data-uris/

Photokonnexion avatar
флаг it
Отличный! Следующее полное решение, адаптированное непосредственно из вашего поста, работало с... 'код' ErrorDocument 410 /index.htm RewriteEngine включен # Разрешить доступ к изображениям, когда "Referer" является текущим сайтом RewriteCond %{HTTP_REFERER} ^https?://(www\.)?mydomain\.co.uk(/|$) [NC] Правило перезаписи ^images/. - [Л] # Инициировать 410 Gone для всех пользовательских запросов Условия перезаписи %{ENV:REDIRECT_STATUS} ^$ Правило перезаписи ^ - [G] 'код' Но это сработало только после того, как я исправил свою собственную ошибку html «images-folder» новичка. Да! Большое спасибо за помощь! С наилучшими пожеланиями.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.