2

我有一个 CartoDB 地图,它使用 PHP 连接到我的 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 文件设置为包含允许访问来源: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