---------- Добавлено 24.08.2019 в 05:51 ----------
Alfinnov:
пример:
идет запрос:
http://www.veslo.ru/wp-content/images/12323.gif?231ad23
проверяется, есть ли на хостинге файл:
./site.www.veslo.ru/wp-content/images/12323.gif?231ad23
и если есть - отдает его, если файла нет, запрос передается в ./index.php который уже с ним разбирается
Если в названии файла там действительно знак вопроса и содержимое %{QUERY_STRING}, то правила будут такие:
к примеру для 30 папок (pic1,pic2,pic3 и т д)
было pics, стало pics(\d+)
Так а на самом деле там pics1 или pic1?
И в какие из трёх location ставили этот шаблон?
Начиная с версии Apache 2.4 есть expr
Если есть доступ править настройки VirtualHost, то можно использовать RewriteMap.
В VirtualHost добавить:
А в .htaccess
Или
RewriteCond %{DOCUMENT_ROOT}/site.%{HTTP_HOST}/$0 -f
RewriteRule ^.+\.(css|js|jpe?g|mp4|gif)$ /site.%{HTTP_HOST}/$0 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [L]
Заблокировать прямое обращение к адресам начинающимся с "/site." можно так:
RewriteCond %{THE_REQUEST} " /site\."RewriteRule ^site\. - [F]
Или так
RewriteCond %{ENV:REDIRECT_STATUS} ^$RewriteRule ^site\. - [F]
---------- Добавлено 24.08.2019 в 05:51 ----------
пример:
идет запрос:
http://www.veslo.ru/wp-content/images/12323.gif?231ad23
проверяется, есть ли на хостинге файл:
./site.www.veslo.ru/wp-content/images/12323.gif?231ad23
и если есть - отдает его, если файла нет, запрос передается в ./index.php который уже с ним разбирается
Если в названии файла там действительно знак вопроса и содержимое %{QUERY_STRING}, то правила будут такие:
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^wp-content/images/.+\.(css|js|jpe?g|mp4|gif)$ /site.%{HTTP_HOST}/$0 [L]
RewriteCond %{QUERY_STRING} (.+)
RewriteRule ^wp-content/images/.+\.(css|js|jpe?g|mp4|gif)$ /site.%{HTTP_HOST}/$0\%3F%1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [L]
А ещё раз где проверять наличие файла?
/_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]
RewriteCond %{HTTP_HOST} ^(?>www\.|)(.+) [NC]RewriteRule ^wp-content/images/.+\.jpg$ /_www.%1/$0 [L]
От перемены мест слагаемых сумма не меняется :)
Там через запятую просто список флагов.
NewMoneyMaker, если /razdel.html существующий файл.