Опять по htaccess вопрос, очень надо

12 3
A
На сайте с 07.01.2010
Offline
123
810

Добрый!

Подскажите, очень надо сделать через htaccess именно

приходит запрос вида: /wp-content/images/12323.jpg

в реальности файл лежит на хосте как: /_www.{имя домена из запроса}/wp-content/images/12323.jpg

надо:

если для запроса файл существует (в папке как реально лежит) - то отдать его клиенту

{имя домена из запроса} - важно, тут может быть разные домены, а-ля:

www.рога.ru и рога.ru и вася.ru

это для pbn сетки, разрабатываю, и встрял в htaccess и эту задачку ...

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

---------- Добавлено 23.08.2019 в 15:22 ----------

Выяснилось что тут косяк хостинга, limiting connections by zone , в логах,

но все равно хорошо б через htaccess такие запросы завернуть и не парится

---------- Добавлено 23.08.2019 в 15:22 ----------

// и еще, по факту там надо завернуть файлы с расширениями (css,js,jpg,png итд)

Создаем и продвигаем сайты различных тематик
J
На сайте с 20.02.2014
Offline
120
jkm
#1

RewriteCond %{HTTP_HOST} ^(?>www\.|)(.+) [NC]

RewriteRule ^wp-content/images/.+\.jpg$ /_www.%1/$0 [L]
A
На сайте с 07.01.2010
Offline
123
#2

тут будет проблема как я понимаю, что когда файла там нет, он попробует его открыть - и получит 404

там просто если файла нет, должно на index.php идти и файл подкачает и выведет

J
На сайте с 20.02.2014
Offline
120
jkm
#3

А ещё раз где проверять наличие файла?

/_www.{имя домена из запроса}/wp-content/images/12323.jpg

RewriteCond %{HTTP_HOST} ^(?>www\.|)(.+)

RewriteCond %{DOCUMENT_ROOT}/_www.%1/$0 -f
RewriteRule ^wp-content/images/.+\.jpg$ /_www.%1/$0 [L]

Или /wp-content/images/12323.jpg

RewriteCond %{HTTP_HOST} ^(?>www\.|)(.+)

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^wp-content/images/.+\.jpg$ /_www.%1/$0 [L]
S
На сайте с 30.09.2016
Offline
469
#4
Alfinnov:
если файла нет, должно на index.php идти и файл подкачает и выведет

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [L]
Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
A
На сайте с 07.01.2010
Offline
123
#5

Ага, благодарю.

A
На сайте с 07.01.2010
Offline
123
#6

Что-то у меня вроде как не работает ... давайте я по конретнее попробую ...

логика:

идут запросы на хост:

http://www.veslo.ru/wp-content/images/12323.jpg

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}

и если файл есть (по адресу выше) отдать его

пример:

идет запрос:

http://www.veslo.ru/wp-content/images/12323.gif?231ad23

проверяется, есть ли на хостинге файл:

./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

SeVlad
На сайте с 03.11.2008
Offline
1609
#7

ОМГ..

Проблема молотка в самом ярком виде..

Alfinnov:
приходит запрос вида: /wp-content/images/12323.jpg
в реальности файл лежит на хосте как: /_www.{имя домена из запроса}/wp-content/images/12323.jpg

И чем первая строка отличается от второй?

Это же разные сайты, в разных каталогах, со своими картинками.

Alfinnov:
но тут на одном из хостингов начало что-то при массовых запросах выдаваться 503, что совсем не ясно почему -> хочу решение через htaccess, может поможет

Причем тут хтацесс - надо разбираться с причиной 503

Sitealert:
Код:

Это вобще-то дефолтные правила ВП

---------- Добавлено 23.08.2019 в 23:01 ----------

Alfinnov:
и если есть - отдает его, если файла нет, запрос передается в ./index.php который уже с ним разбирается

А если нет, то сперва в 404й шаблон, а уж если и его нет, то в индекс ТЕМЫ.

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
A
На сайте с 07.01.2010
Offline
123
#8

Вообще у меня совсем не wp

с 503 с хостером разбираемся, но хз сколько займет, да и по плану должны быть дешевые хостинги

---------- Добавлено 23.08.2019 в 23:29 ----------

SeVlad:
ОМГ..

не то слово, но к сожалению вы ответили совсем не по "теме", не разобравшись в вопросе

SeVlad
На сайте с 03.11.2008
Offline
1609
#9
Alfinnov:
Вообще у меня совсем не wp

Эм... ну я увидел wp-content...

Если нет, тогда всё, кроме 503 снимается.

АПД. Хотя нет, не всё.. Про пути всё так же непонятно.

Alfinnov:
но к сожалению вы ответили совсем не по "теме", не разобравшись в вопросе

Если бы ты знал, сколько юзеров не могут нормально задать вопросы и об чём приходится догадываться.. :)

Ты вот тоже вместо того, что бы решать проблему с 503 почему-то решил, что хтацесс поможет..

Проблема молотка, говорю ж

A
На сайте с 07.01.2010
Offline
123
#10

правило что-то вроде:

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

12 3

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