如何从Laravel 4中的标题中删除一个Access-Control-Allow-Origin

时间:2015-02-19 00:34:03

标签: angularjs laravel cors

对不起我的英文。我的Laravel项目在我的本地机器上工作得很好,有一个yeoman项目(子模块git中的Angular app)到公共文件夹中。但现在我将我的Laravel推送到我的共享主机,当我尝试从我的localhost:9000访问Angular时,Chrome显示:

  

XMLHttpRequest无法加载http://server.com/server/public/data。 ' Access-Control-Allow-Origin'标头包含多个值' http://localhost:9000,*',但只允许一个。起源' http://localhost:9000'因此不允许访问。

我使用barryvdh/laravel-cors,我的配置是:

'defaults' => array(
    'supportsCredentials' => false,
    'allowedOrigins' => array(),
    'allowedHeaders' => array(),
    'allowedMethods' => array(),
    'exposedHeaders' => array(),
    'maxAge' => 0,
    'hosts' => array(),
),

'paths' => array(
    'api/*' => array(
        'allowedOrigins' => array('*'),
        'allowedHeaders' => array('*'),
        'allowedMethods' => array('*'),
        'maxAge' => 3600,
    ),
    '*' => array(
        'allowedOrigins' => array('*'),
        //'allowedHeaders' => array('Content-Type'),
        'allowedMethods' => array('POST', 'PUT', 'GET', 'DELETE', 'OPTIONS'),
        'allowedHeaders' => array('*'),
        //'allowedMethods' => array('*'),
        'maxAge' => 3600,
        'hosts' => array('*'),
    ),
),

我在Chrome控制台中看到了“网络”标签:

Response Headers:
Access-Control-Allow-Origin:http://localhost:9000
Access-Control-Allow-Origin:*

我怎样才能避免两个起源?我只想*。我的服务器中有一个.htaccess,其中Header设置了Access-Control-Allow-Origin" *"。你能帮我吗?谢谢!

更新: 在laravel_server / public我有这个.htaccess:

<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
    Options -MultiViews
</IfModule>

RewriteEngine On

# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]

# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    标题集设置Access-Control-Allow-Origin&#34; *&#34;

0 个答案:

没有答案