2

PHP を使用して CartoDB アカウントに接続し、レイヤーを表示する CartoDB マップがあります。マップは表示できるがレイヤーは表示できないという報告を受けていますが、その理由はわかりません... 以下は Chrome に表示されるエラーの画像ですが、特定のユーザーにのみ表示されます。

Chrome でのエラーの画像

次のようなクロスオリジンリクエストを許可するように .htaccess を設定しようとしました:

    <FilesMatch "\.(js)$">
<IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin "*"
    Header set Access-Control-Allow-Origin http://www.example.com 
    Header set Access-Control-Allow-Origin http://example.com 
    Header set Access-Control-Allow-Origin http://projectname.example.com
    Header set Access-Control-Allow-Credentials true
    SecFilterEngine Off
    SecFilterScanPOST Off
</IfModule>
</FilesMatch>

また、php ファイルに allow access origin を含めるように設定しようとしました: PHP ファイル 1:

<?php
    header("Access-Control-Allow-Origin: *");
include 'http://example.com/phplocation/cartodbProxy.php';
$queryURL = $_POST['qurl'];
$return = goProxy($queryURL);
echo $return;
?>

PHP ファイル 2:

<?php
header("Access-Control-Allow-Origin: *");
session_cache_limiter('nocache');
$cache_limiter = session_cache_limiter();
function goProxy($dataURL) 
{
    $baseURL = 'https://cartoDBUserName.cartodb.com/phplocation/v2/sql?';
    $api = '&api_key=enter API key here';
    $url = $baseURL.'q='.urlencode($dataURL).$api;
    $result = file_get_contents ($url);
    return $result;
}
?>

私も試しました:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/projectLocation/$1 [L,R=301]

それでもユーザーはアクセスできません....

4

0 に答える 0