对不起我的英文。我的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;