Редирект CDN Есть решение

Добрый день.

В настройках пр."Сайт" есть поле "Доменное имя", где прописан домен "http://www.XXXXXX.ru"

Есть поставщик CDN, у которого прописано: "необходимо прописать правило фильтрации и переадресации статики вашего web-сайта. В .htaccess внесите правило":


RewriteCond %{HTTP:Via}   !\.edge\.xxxxxxx\.net
RewriteRule ^(.*)           http://www.example.com/$1 [L,R]

Выполняя данные действия, получаю циклическую переадресацию.

Как решить данную проблему?

5 ответов

  • 1
    Непомнящий 10 сентября 2015 14:16 # Решение

    Все! вымучил!))

    Предлагаю разработчикам дополнить .htaccess дополнением строк:

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

    При добавлении адресса CDN в пр. "Сайт"

  • 2
    Алексей Webasyst 10 сентября 2015 10:14 #

    А стоит ли обязательно использовать правила htaccess?
    Или достаточно просто в Сайт - Настройки указать адрес CDN.

    • +1
      Непомнящий Непомнящий 10 сентября 2015 13:28 #

      Я так и делаю. и в дополнение прописываю правила в htaccess(может я не правильно делаю). НО, когда статика идет с серверов CDN не грузятся стили bootstrap, и Font Awesome. В шаблоне все по правилам верстки.

      Вот c сервера CDN 3829473 точка r точка worldcdn.net/wa-data/public/shop/themes/shopping/css/font-awesome.min.css?v1.7.1441905539

      А вот с прямого домена simonika точка ru/wa-data/public/shop/themes/shopping/css/font-awesome.min.css?v1.7.1441905539

      там и там все одинаково

      Почему по основному домену, в верхнем правом углу не грузяться иконки телефон и корзина?

      Вот лог Хрома:

      Font from origin 'http://3829473 точка r точка worldcdn.net' has been blocked from loading by Cross-Origin Resource Sharing policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://www точка simonika точка ru' is therefore not allowed access.

    • +1
      Непомнящий Непомнящий 10 сентября 2015 13:49 #

      Нащупал пульс)) дело похоже вот в этом участке htaccess

      <ifModule mod_headers.c>
          <FilesMatch "\.(jpg|jpeg|png|gif|js|css)$">
      	Header set Cache-Control "max-age=3153600, public"
          </FilesMatch>
      </ifModule>

      Что то связанно с кешированием?! можно это удалить? или как-то изменить?

  • 1
    Эрик Webasyst 10 сентября 2015 02:32 #

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

  • 1
    Непомнящий 10 сентября 2015 08:05 #

    Попробовал. Получаю циклическую переадресацию.

    <FilesMatch "\.md5$">
        Deny from all
    </FilesMatch>
    
    DirectoryIndex index.php
    Options -Indexes
    # Comment the following line, if option Multiviews not allowed here
    Options -MultiViews
    
    #AddDefaultCharset Off
    AddDefaultCharset utf-8
    
    <ifModule mod_rewrite.c>
        RewriteEngine On
        RewriteCond %{HTTP:Via}   !\.edge\.XXXXXXX\.net
        RewriteRule ^(.*)         http://www.example.ru/$1 [L,R]
        # Uncomment the following line, if you are having trouble
        #RewriteBase /
    
        RewriteCond %{REQUEST_URI} !\.(js|css|jpg|jpeg|gif|png)$ [or]
        RewriteCond %{REQUEST_URI} apple-touch-icon\.png$
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule ^(.*)$ index.php [L,QSA]
    </ifModule>
    
    <ifModule mod_headers.c>
        <FilesMatch "\.(jpg|jpeg|png|gif|js|css)$">
        Header set Cache-Control "max-age=3153600, public"
        </FilesMatch>
    </ifModule>

    или как убрать редирект, который возникает при указании домена в пр. "Сайт" на уровне движка?

    Пробовал прописывать и в начало и в середину и в конец файла.

  • 1
    Vladislav 5 марта 2016 19:23 #

    А в CSP не забыли галку поставить?

Добавить ответ

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