razón origin missing htaccess faltante encabezado enable cross control allow .htaccess cross-domain access-control

.htaccess - missing - htaccess Access-Control-Allow-Origin



set access control allow origin htaccess (8)

Agregue un archivo .htaccess 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 .

<FilesMatch "/.(eot|ttf|otf|woff)"> Header set Access-Control-Allow-Origin "*" </FilesMatch>

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 terrible 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/

Cargué el script de carga en jsfiddle: http://jsfiddle.net/TL5LK/

Traté de 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.


Asegúrate de no tener un redireccionamiento. Esto puede suceder si no incluye la barra final en la URL.

Vea esta respuesta para más detalles - https://.com/a/27872891/614524


De acuerdo con mi experiencia;

si no funciona desde dentro de php haz esto en .htaccess funcionó para mí

<IfModule mod_headers.c> Header set Access-Control-Allow-Origin http://www.vknyvz.com Header set Access-Control-Allow-Credentials true </IfModule>

  • las credenciales pueden ser verdaderas o falsas dependiendo de los parámetros de solicitud de ajax

En Zend Framework 2.0 tuve este problema. Se puede resolver en dos direcciones .htaccess o php header prefiero .htaccess, así que modifiqué .htaccess de:

RewriteEngine On RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [NC,L] RewriteRule ^.*$ index.php [NC,L]

a

RewriteEngine On <IfModule mod_headers.c> Header set Access-Control-Allow-Origin "*" </IfModule> RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [NC,L] RewriteRule ^.*$ index.php [NC,L]

y comienza a funcionar


Las otras respuestas no funcionaron para mí, esto es lo que terminó haciendo el truco para apache2:

1) Habilita el mod de encabezados:

sudo a2enmod headers

2) Cree el archivo /etc/apache2/mods-enabled/headers.conf e inserte:

<IfModule mod_headers.c> Header set Access-Control-Allow-Origin "*" </IfModule>

3) Reinicia tu servidor:

sudo service apache2 restart


Por cierto: la configuración de .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 Rest API en y.com, debe establecer Access-Control-Allow-Origin "*" en el archivo .htaccess en la carpeta raíz de y.com no x .com :)

<IfModule mod_headers.c> Header set Access-Control-Allow-Origin "*" </IfModule>

También como mencionó Lukas, asegúrese de haber habilitado mod_headers si usa Apache


Pruebe esto en el .htaccess de la carpeta raíz externa:

<IfModule mod_headers.c> Header set Access-Control-Allow-Origin "*" </IfModule>

Y si solo se trata de scripts .js, debe ajustar el código anterior dentro de este:

<FilesMatch "/.(js)$"> ... </FilesMatch>


nadie dice que también tiene que tener mod_headers habilitados, por lo que si aún no funciona, intente esto:

(Los siguientes consejos funcionan en Ubuntu, no sé sobre otras distribuciones)

usted puede verificar la lista de módulos cargados con

apache2ctl -M

para habilitar mod_headers puedes usar

a2enmod headers

por supuesto, después de cualquier cambio en Apache debes reiniciarlo:

/etc/init.d/apache2 restart

Entonces puedes usar

<IfModule mod_headers.c> Header set Access-Control-Allow-Origin "*" </IfModule>

Y si mod_headers no está activo, esta línea no hará nada en absoluto. Puede probar la cláusula skip if y simplemente agregue el Header set Access-Control-Allow-Origin "*" en su configuración, entonces debería lanzar un error durante el inicio si mod_headers no está activo.