Jump to content
  • 0

Вопрос по htaccess


user
 Share

Question

В htaccess,который находится в папке с картинками,есть вот такая запись.

<FilesMatch "\.(gif|jpg|png)$">
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.*)$ ../watermark/_watermark.php [T=application/x-httpd-php,L,QSA]
</FilesMatch>

Он должен вместо картинки открывать _watermark.php,но это не работает,возможно,какой-то конфликт с htaccess в корневой директории?

RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
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]
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_URI} !^/index\.php
RewriteCond %{REQUEST_URI} (/[^.]*|\.(php|html?|feed|pdf|raw))$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

Должен работать. Первый .htaccess на файлы и каталоги не реагирует. Проверьте правильность указания пути к _watermark.php и если сервер не на винде крутится, возможно, могут быть проблемы с правами.

Link to comment
Share on other sites

  • 0

Я бы на вашем месте лучше сделал вот так:


RewriteEngine On
RewriteCond %{REQUEST_URI} \.(gif|jpg|png)$
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.*)$ ../watermark/_watermark.php [L,QSA]

Отрабатывать будет только для файлов с указанными расширениями и только если этот файл существует на сервере.

А в вашем правиле вы получаете 400 ошибку я думаю, изза FilesMatch который призван ограничивать работу правил для групп файлов. И спрашивается зачем он тут вообще если всё реализуется только с помощью модреврайта.

Link to comment
Share on other sites

  • 0

В общем я написал в тех поддержку,они сказали,что ничего не получится,так как картинки обрабатывает nginx.

Ну тогда есть смысл картинки сразу напрямую запрашивать у php файла ))) Что-то типо:


<img src="/watermark/_watermark.php?img=test.png">

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy