Access-Control-Allow-Origin в .htaccess не работал в подкаталогах - PullRequest
0 голосов
/ 01 ноября 2018

У меня ошибка при попытке преобразовать изображение из URL в базу 64, ошибка

Доступ к изображению в> 'https://img.blabla.com/user/profile_pict/1541043536539.jpg' из> origin>' http://localhost:4200' заблокирован политикой CORS: Нет> заголовок «Access-> Control-Allow-Origin» присутствует на запрашиваемый ресурс.

Я так много пытался исправить эту ошибку, некоторые люди говорили: «Вы должны поместить Header set Access-Control-Allow-Origin "*" в .htaccess на https://img.blabla.com/», поэтому я попытался поместить .htaccess, вот так.

<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{SERVER_PORT} !443 RewriteRule ^(/(.*))?$ https://%{HTTP_HOST}/$1 [R=301,L] </IfModule>

<FilesMatch "\.(gif|png|css|js|jpg)$"> <ifModule mod_headers.c> Header set Access-Control-Allow-Origin "*" Header set Access-Control-Allow-Methods: "*" Header set Access-Control-Allow-Headers: "Origin, X-Requested-With, Content-Type, Accept, Authorization" </ifModule> </FilesMatch>

.htaccess просто работает в /index.html. это не работает в подкаталогах. Допустим, у меня есть веб-сайт с такой структурой:

/index.html /.htaccess /user/profile_pict/*.jpg /travel_agent/trip/*.jpg

1 Ответ

0 голосов
/ 01 ноября 2018

Попробуйте это в .htaccess внешней корневой папки:

<IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin "*"
</IfModule>

И если это касается только изображений .jpg, вы должны заключить приведенный выше код в это:

<FilesMatch "\.(jpg)$">
...
</FilesMatch>

Есть и другие способы использования .htaccess , вы можете перейти в каталог и создать там файл .htaccess, который .htaccess будет специфичен только для этого каталога. альтернативно Вы также можете определить путь к каталогу из своего корня .htaccess

...