2016-05-02 3 views
0

Я отредактировал свой WordPress .htaccess, чтобы разрешить доступ к домену в кросс-браузере, но он не работает. Обновленный код:Как я могу изменить файл .htaccess в WordPress, чтобы он разрешил доступ к домену в кросс-браузере?

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
Header set Access-Control-Allow-Origin "*" 
Header set Access-Control-Allow-Credentials true 
RewriteEngine On 
RewriteBase /articles/ 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /articles/index.php [L] 
</IfModule> 
# END WordPress 

Не знаете, почему он не работает. Код JQuery, который я использую для разбора XML-фид является:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 

    function parse(document){ 
     $(document).find("item").each(function(){ 
      $("#content").append(
       '<br /> Title: '+$(this).find('title').text()+ 
       '<br /> Author: '+$(this).find('link').text()+ 
       '</p>' 
      ); 
     }); 
    }; 

    $.ajax({ 
     url: 'http://www.knead-nyc.com/articles/feed/', // name of file you want to parse 
     headers: {'X-Requested-With': 'XMLHttpRequest'}, 
     dataType: "xml", 
     success: parse, 
     error: function(){alert("Error: Something went wrong");} 
    }); 
}); 
</script> 
+1

FYI: Выполнение этого было бы ужасным риском для безопасности, в случае, если любой веб-сайт захватит вашу сессию и сделает все, что захочет, на панели администратора, как вы это делали. –

+0

Ах, я вижу. Но есть ли способ разрешить только каналы из «http://www.knead-nyc.com/» – Jimmy

ответ

0

Я нашел решение. Хотя я был в одном домене (example.com), я получал следующую ошибку. «XMLHttpRequest не может загрузить http://example.org/. Заголовок Нет„Access-Control-Allow-Origin“присутствует на запрошенный ресурс. Происхождение http://www.example.org поэтому не имеет права доступа»

я узнал, время от времени, и та же политика происхождения может блокировать запросы между суб -домены в одном домене. Поэтому после нескольких поисков я смог решить эту проблему, добавив document.domain в свой JavaScript. Например: document.domain = 'example.com'; Я также удалил:

Header set Access-Control-Allow-Origin "*" 
Header set Access-Control-Allow-Credentials true 

из файла .htaccess, так как он не был нужен больше, и как Александр О'Мара отметил, вызывает угрозу безопасности.

 Смежные вопросы

  • Нет связанных вопросов^_^