Мде, я уже не знаю как проще объяснить задачу ...
есть проксирующий скрипт, он лежит в корне сайта. его задача - пришедший на него запрос - выкачать с удаленного сервера и отдать клиенту.
он складываешь данные для кеша в папку:
./site.{адрес сайта}/ <--- тут лежат файлы удаленного сайта.
в коре ./ - лежат файлы, доступа к которым на прямую быть не должно, это организовывается сейчас так, что все запросы идут через /index.php который уже подставляет данные из ./site.{адрес сайта}/... и отдает клиенту.
цель:
написать htaccess , так что-бы:
1. если запрашиваемый файл существует (но в папке) ./site.{адрес сайта}/ - отдать его (это касается только статичных рессурсов jpg/png/gif/css/js)
2. если файла в папке нет, то запрос должен идти на /index.php
я уже не знаю как проще можно что-то описать. это же только другими словами и примерами было во всех моих сообщениях
// а вот это не работает:
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^wp-content/images/.+\.(css|js|jpe?g|mp4|gif)$ /site.%{HTTP_HOST}/$0 [L]---------- Добавлено 24.08.2019 в 12:22 ----------так-же я что-то не понимаю, почему даже такое:
RewriteCond %{REQUEST_URI} \.(jpg)$
RewriteRule ^(.*)$ ./www.vasaya.ru/wp-content/images/484/2605s.jpg [L]
вызывает 500 ошибку что в этом то простом не верно может быть?---------- Добавлено 24.08.2019 в 12:38 ----------А правила вида:
RewriteCond %{REQUEST_URI} \.(css|js|jpe?g|mp4|gif) [NC]
RewriteCond /www.%{HTTP_HOST}%{REQUEST_URI} -f
RewriteRule ^/(.*)$ /www.%{HTTP_HOST}/$0 [R=302,L,END]
приводят вообще вот к такой переадресации (после 20 переходов)
Адрес: http://www.vasya.ru/www.www.vasya.ru/www.www.vasya.ru/www.www.vasya.ru/www.www.vasya.ru/www.www.vasya.ru/www.www.vasya.ru/www.www.vasya.ru/www.www.vasya.ru/www.www.vasya.ru/www.www.vasya.ru/www.www.vasya.ru/www.www.vasya.ru/www.www.vasya.ru/www.www.vasya.ru/www.www.vasya.ru/www.www.vasya.ru/www.www.vasya.ru/www.www.vasya.ru/www.www.vasya.ru/www.www.vasya.ru/www.www.vasya.ru/pages/images/484/2605s.jpg [переход]
тут возникает проблемма, что файлы из корня будут доступны по прямому запросу, а не должны, для остальных всех редирект на index.php
у картинок итд может в конце идти знак вопроса и параметры, а может и не идти
правило что-то вроде:
RewriteCond %{REQUEST_URI} \.(jpe?g|bmp|png|gif|)$
RewriteCond %{DOCUMENT_ROOT}www.%{HTTP_HOST}$1 -F
RewriteRule ^(.*) %{DOCUMENT_ROOT}www.%{HTTP_HOST}$1 [L]
логика должна быть такая:
если в запросе jpg итд ( http://vasha.ru/wp-content/image/111.jpg)
если файл по новой ссылке существует ( ./site.vasha.ru/wp-content/image/111.jpg)
то отдать файл ./vasha.ru/wp-content/image/111.jpg
Вообще у меня совсем не wp
с 503 с хостером разбираемся, но хз сколько займет, да и по плану должны быть дешевые хостинги---------- Добавлено 23.08.2019 в 23:29 ----------
не то слово, но к сожалению вы ответили совсем не по "теме", не разобравшись в вопросе
Что-то у меня вроде как не работает ... давайте я по конретнее попробую ...
логика:
идут запросы на хост:
http://www.veslo.ru/wp-content/images/12323.jpg
http://www.veslo.ru/wp-content/images/12323.css
http://www.veslo.ru/wp-content/images/12323.html
http://www.veslo.ru/wp-content/images/12323.js
http://www.veslo.ru/wp-content/images/12323.js?a=edede&as=sd12
http://www.veslo.ru/wp-content/images/12323.htm
http://www.veslo.ru/wp-content/images/12323.jpeg
http://www.veslo.ru/wp-content/images/12323.mp4
http://www.veslo.ru/wp-content/images/12323.gif
http://www.veslo.ru/wp-content/images/12323.gif?231ad23
надо, для всех файлов jpg,css,js,jpeg,mp4,gif проверить есть ли файл:
./site.www.veslo.ru/{путь до файла jpg/css/js/jpeg/mp4/gif}
и если файл есть (по адресу выше) отдать его
пример:
идет запрос:
проверяется, есть ли на хостинге файл:
./site.www.veslo.ru/wp-content/images/12323.gif?231ad23
и если есть - отдает его, если файла нет, запрос передается в ./index.php который уже с ним разбирается
еще момент, запрос может идти не только на http://www.veslo.ru, но и на http://veslo.ru - считаем что это разные папки для хранения рессурсов:
./site.www.veslo.ru и ./site.veslo.ru - соответственно
// такого рода проксирование надо не для всех файлов, грубо проверяем и отдаем только статичные рессурсы (js/css/jpg итд). остальные файлы должны запрашиваться через index.php
Ага, благодарю.
тут будет проблема как я понимаю, что когда файла там нет, он попробует его открыть - и получит 404
там просто если файла нет, должно на index.php идти и файл подкачает и выведет
Мне вот интересно, а как вы аффилиат фильт диагностируете вообще? я про яндекс/гугл если уведомлений нет о санкциях
какая симптоматика приводит к диагнозу?
у нас vps, на ip заглушка пустая
на моем сайте нет, всё проверил
то есть редиректы не ставить, не парится?
но вопрос остается - откуда оно? так поздно берется вообще