Estoy creando un script que se carga externamente en otros sitios. Carga CSS y HTML y funciona bien en mis propios servidores.
Sin embargo, cuando lo intento en otro sitio web muestra este horrible error:
Access-Control-Allow-Origin
Aquí puedes ver que se carga perfectamente: http://tzook.info/bot/
Pero en este otro sitio web muestra el error: http://cantloseweight.co/robot/
Subí el script de carga a jsfiddle: http://jsfiddle.net/TL5LK/
Intenté editar el archivo htaccess de esta manera:
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin *
</IfModule>
O así:
Header set Access-Control-Allow-Origin *
Pero todavía no funciona.
.htaccess
cors
cross-domain
Tzook Bar Noy
fuente
fuente
FilesMatch
.*
hacemos?js
ajson
.*
Permite que cualquier dominio de origen acceda a este recurso. No es una lista de recursos, sino una lista de dominios de referencia.headers
módulo:a2enmod headers
nadie dice que también debes tener mod_headers habilitados, así que si aún no funciona, prueba esto:
(los siguientes consejos funcionan en Ubuntu, no sé sobre otras distribuciones)
Puede consultar la lista de módulos cargados con
para habilitar mod_headers puedes usar
Por supuesto, después de cualquier cambio en Apache, debe reiniciarlo:
Entonces puedes usar
Y si mod_headers no está activo, esta línea no hará nada en absoluto. Puede intentar omitir la cláusula if y simplemente agregar
Header set Access-Control-Allow-Origin "*"
su configuración, luego debería arrojar un error durante el inicio si mod_headers no está activo.fuente
por mi experiencia;
si no funciona desde adentro,
php
haga esto en.htaccess
que funcionó para mífuente
Agregue un
.htaccess
archivo con las siguientes directivas a su carpeta de fuentes, si tiene problemas para acceder a sus fuentes. Se puede modificar fácilmente para usar con archivos .css o .js .fuente
<FilesMatch>
directiva es innecesaria, si , como se sugirió anteriormente, el.htaccess
archivo está en el directorio de fuentes y su directorio de fuentes única contiene.eot
,.ttf
,.otf
y / o.woff
archivos.Las otras respuestas no funcionaron para mí, esto es lo que terminó haciendo el truco para apache2:
1) Habilite el mod de encabezados:
sudo a2enmod headers
2) Cree el
/etc/apache2/mods-enabled/headers.conf
archivo e inserte:3) Reinicie su servidor:
sudo service apache2 restart
fuente
En Zend Framework 2.0 tuve este problema. Se puede resolver de dos maneras .htaccess o encabezado php prefiero .htaccess, así que modifiqué .htaccess de:
a
y empieza a funcionar
fuente
Por cierto: la configuración .htaccess debe hacerse en el servidor que aloja la API. Por ejemplo, si crea una aplicación AngularJS en el dominio x.com y crea una API Rest en y.com, debe configurar Access-Control-Allow-Origin "*" en el archivo .htaccess en la carpeta raíz de y.com, no x .com :)
Además, como mencionó Lukas, asegúrese de haber habilitado mod_headers si usa Apache
fuente
Asegúrate de no tener una redirección. Esto puede suceder si no incluye la barra diagonal final en la URL.
Consulte esta respuesta para obtener más detalles: https://stackoverflow.com/a/27872891/614524
fuente
Si su host no está en pvn o dedicado, es difícil reiniciar el servidor.
Mejor solución para mí, solo edite su archivo CSS (en otro dominio o su subdominio) que llame a la fuente eot, woff, etc. a su origen (su dominio o www su dominio). Resolverá tu problema.
Quiero decir, edite la URL relativa en CSS al dominio absoluto de origen de URL
fuente