{"id":975,"date":"2026-08-31T08:01:42","date_gmt":"2026-08-31T06:01:42","guid":{"rendered":"https:\/\/www.redservicio.net\/blog\/975-2\/"},"modified":"2026-08-31T08:01:46","modified_gmt":"2026-08-31T06:01:46","slug":"configurar-cors-en-apache-guia-completa-y-practica","status":"publish","type":"post","link":"https:\/\/www.redservicio.net\/blog\/configurar-cors-en-apache-guia-completa-y-practica\/","title":{"rendered":"Configurar CORS en Apache: Gu\u00eda Completa y Pr\u00e1ctica"},"content":{"rendered":"<h2>\u00bfQu\u00e9 es CORS y por qu\u00e9 necesitas configurarlo en Apache?<\/h2>\n<p>Seguro que lo has visto. Est\u00e1s desarrollando tranquilo, abres la consola del navegador y ah\u00ed aparece: <em>\u00abAccess to XMLHttpRequest at &#8216;&#8230;&#8217; has been blocked by CORS policy\u00bb<\/em>. Y de repente tu frontend, que vive en <em>app.tudominio.com<\/em>, no puede hablar con tu API en <em>api.tudominio.com<\/em>. Frustrante.<\/p>\n<p>CORS, o <em>Cross-Origin Resource Sharing<\/em>, es un mecanismo de seguridad que implementan los navegadores mediante cabeceras HTTP. Por defecto, la <em>same-origin policy<\/em> impide que JavaScript lea recursos de un origen distinto al de la p\u00e1gina. Lo que hace CORS es relajar esa restricci\u00f3n de forma controlada: el servidor declara expl\u00edcitamente qui\u00e9n tiene permiso para acceder a sus recursos.<\/p>\n<div class=\"result-box\"><strong>Punto clave:<\/strong> CORS no bloquea la petici\u00f3n en s\u00ed. El navegador bloquea la <em>respuesta<\/em> si el servidor no env\u00eda las cabeceras correctas. La soluci\u00f3n, quieras o no, est\u00e1 en el lado del servidor.<\/div>\n<h2>Requisitos previos para habilitar CORS en tu servidor<\/h2>\n<p>Antes de tocar nada, necesitas tres cosas (bueno, dos y media):<\/p>\n<ul>\n<li>Acceso al servidor Apache (f\u00edsico, VPS o hosting compartido con acceso a <em>.htaccess<\/em>).<\/li>\n<li>El m\u00f3dulo <strong>mod_headers<\/strong> activado, porque sin \u00e9l no hay caberas personalizadas.<\/li>\n<li>Tener claro qu\u00e9 dominios de tu aplicaci\u00f3n necesitan acceso, y a qu\u00e9 rutas.<\/li>\n<\/ul>\n<h3>Verificar que mod_headers est\u00e1 activo<\/h3>\n<p>En Debian o Ubuntu, un comando te lo aclara:<\/p>\n<ul>\n<li><em>apache2ctl -M | grep headers<\/em> \u2014 si aparece <em>headers_module<\/em>, ya est\u00e1 cargado.<\/li>\n<li>Si no aparece, act\u00edvalo con <em>sudo a2enmod headers<\/em> y reinicia Apache con <em>sudo systemctl restart apache2<\/em>.<\/li>\n<li>En CentOS\/RHEL, el m\u00f3dulo suele venir habilitado de serie en el paquete <em>httpd<\/em>.<\/li>\n<\/ul>\n<p>\u00bfHosting compartido? <strong>mod_headers<\/strong> normalmente est\u00e1 disponible y bastar\u00e1 con editar el <em>.htaccess<\/em> en la ra\u00edz del proyecto. Si tu proveedor lo restringe, eso ya te dice algo: necesitas un hosting m\u00e1s flexible. En RedServicio, por ejemplo, nuestros planes incluyen soporte 24\/7 para este tipo de configuraciones sin complicaciones.<\/p>\n<h2>C\u00f3mo configurar CORS en Apache con .htaccess<\/h2>\n<p>La v\u00eda r\u00e1pida es a\u00f1adir la cabecera <em>Access-Control-Allow-Origin<\/em> en tu <em>.htaccess<\/em>:<\/p>\n<p><em>Header set Access-Control-Allow-Origin \u00ab*\u00bb<\/em><\/p>\n<p>Una sola l\u00ednea y funciona. Acceso desde cualquier origen. Ojo, eso solo sirve para APIs p\u00fablicas o entornos de desarrollo. <strong>En producci\u00f3n con credenciales, ni se te ocurra<\/strong>: el navegador rechaza el comod\u00edn si lo combinas con cookies o autenticaci\u00f3n.<\/p>\n<h3>Permitir solo or\u00edgenes espec\u00edficos<\/h3>\n<p>Para producci\u00f3n, lo correcto es restringir. Hay un detalle que suele pillar a todo el mundo: Apache no admite varios dominios en una sola cabecera. La soluci\u00f3n pasa por una condici\u00f3n:<\/p>\n<ul>\n<li>Primero: <em>SetEnvIf Origin \u00ab^(https:\/\/(app|www)\\.tudominio\\.com)$\u00bb ORIGIN_CORS=$1<\/em><\/li>\n<li>Luego: <em>Header set Access-Control-Allow-Origin \u00ab%{ORIGIN_CORS}e\u00bb env=ORIGIN_CORS<\/em><\/li>\n<\/ul>\n<p>Con esto, solo los or\u00edgenes que coincidan con el patr\u00f3n reciben la cabecera. \u00bfM\u00e1s dominios? Sep\u00e1ralos con el car\u00e1cter <em>|<\/em> dentro de la expresi\u00f3n regular y listo.<\/p>\n<h3>Soportar peticiones preflight (OPTIONS)<\/h3>\n<p>Aqu\u00ed viene la parte que m\u00e1s gente olvida. Las peticiones con PUT o DELETE, o con cabeceras personalizadas, disparan antes una <em>pre-flight request<\/em> con m\u00e9todo OPTIONS. Si no la respondes bien, todo se cae por detr\u00e1s:<\/p>\n<ul>\n<li><em>Header always set Access-Control-Allow-Methods \u00abGET, POST, PUT, DELETE, OPTIONS\u00bb<\/em><\/li>\n<li><em>Header always set Access-Control-Allow-Headers \u00abContent-Type, Authorization, X-Requested-With\u00bb<\/em><\/li>\n<li><em>RewriteEngine On<\/em> junto con una regla que responda <em>200<\/em> a OPTIONS, para que la petici\u00f3n no llegue a tu backend.<\/li>\n<li>Si usas credenciales (cookies, tokens), a\u00f1ade <em>Header always set Access-Control-Allow-Credentials \u00abtrue\u00bb<\/em>.<\/li>\n<\/ul>\n<h2>Configuraci\u00f3n CORS en el archivo httpd.conf o VirtualHost<\/h2>\n<p>Si controlas el servidor entero, mejor definir CORS directamente en el <em>VirtualHost<\/em>. \u00bfPor qu\u00e9? Rendimiento, sobre todo: Apache no tiene que procesar archivos por directorio. Y tambi\u00e9n claridad, porque toda la configuraci\u00f3n queda en un solo sitio.<\/p>\n<ul>\n<li>Dentro de la secci\u00f3n <em>&lt;Directory \/var\/www\/miapi&gt;<\/em>, a\u00f1ade las mismas directivas <em>Header set<\/em> descritas antes.<\/li>\n<li>Puedes limitar CORS a rutas concretas usando <em>&lt;LocationMatch \u00ab^\/api\/\u00bb&gt;<\/em>.<\/li>\n<li>Y ojo: aqu\u00ed s\u00ed hay que reiniciar Apache tras cada cambio. <em>sudo systemctl restart apache2<\/em> o <em>httpd -k restart<\/em>.<\/li>\n<\/ul>\n<h2>Errores comunes al configurar CORS en Apache<\/h2>\n<h3>La cabecera aparece duplicada<\/h3>\n<p>Me ha pasado mil veces. Tu backend PHP ya env\u00eda <em>Access-Control-Allow-Origin<\/em>, Apache tambi\u00e9n, y el navegador protesta por valores m\u00faltiples. La cura: usa <em>Header always unset Access-Control-Allow-Origin<\/em> antes de volver a establecerla, o quita la cabecera en el c\u00f3digo de la aplicaci\u00f3n. Una u otra, no las dos.<\/p>\n<h3>El error persiste por cach\u00e9<\/h3>\n<p>Navegadores y proxies cachean las respuestas preflight. A\u00f1ade <em>Header set Access-Control-Max-Age \u00ab86400\u00bb<\/em> para reducir peticiones OPTIONS y, mientras pruebas cambios, trabaja en ventana de inc\u00f3gnito o directamente con curl:<\/p>\n<p><em>curl -I -X OPTIONS -H \u00abOrigin: https:\/\/app.tudominio.com\u00bb -H \u00abAccess-Control-Request-Method: POST\u00bb https:\/\/api.tudominio.com\/endpoint<\/em><\/p>\n<p>Si la respuesta incluye las cabeceras correctas, el problema est\u00e1 en otro punto de la cadena (CDN, WAF o c\u00f3digo). Seguir mirando el .htaccess ah\u00ed es perder el tiempo.<\/p>\n<div class=\"result-box\"><strong>Consejo de seguridad:<\/strong> no reflejes cualquier valor de Origin sin validarlo. Poner CORS como <em>*<\/em> en una API que maneja datos sensibles expone a tus usuarios. Lista blanca expl\u00edcita, siempre.<\/div>\n<h2>FAQ: preguntas frecuentes sobre CORS en Apache<\/h2>\n<ul>\n<li><strong>\u00bfCORS es solo cosa del servidor?<\/strong> S\u00ed. El navegador aplica la pol\u00edtica, pero la soluci\u00f3n est\u00e1 en las cabeceras que env\u00eda tu Apache.<\/li>\n<li><strong>\u00bfPuedo tener varios dominios permitidos?<\/strong> S\u00ed, mediante <em>SetEnvIf<\/em> con expresiones regulares, como vimos arriba.<\/li>\n<li><strong>\u00bfCORS afecta al SEO?<\/strong> No directamente, aunque una mala configuraci\u00f3n puede romper recursos que tu web carga de terceros, y eso s\u00ed perjudica la experiencia de usuario.<\/li>\n<li><strong>\u00bfNecesito reiniciar Apache al editar .htaccess?<\/strong> No. Apache lee ese archivo en cada petici\u00f3n. Solo reiniciar\u00e1s si cambias el VirtualHost o el httpd.conf.<\/li>\n<\/ul>\n<h2>Conclusi\u00f3n<\/h2>\n<p>Al final, configurar CORS en Apache es sencillo una vez entiendes la l\u00f3gica: el navegador exige cabeceras y tu servidor debe enviarlas de forma controlada. Verifica que <strong>mod_headers<\/strong> est\u00e9 activo, define una lista blanca con <em>SetEnvIf<\/em>, gestiona bien el preflight con OPTIONS y comprueba el resultado con <em>curl<\/em> antes de dar nada por resuelto. Vigila tambi\u00e9n las cabeceras duplicadas y la cach\u00e9 de preflight, que son las dos fuentes m\u00e1s habituales de frustraci\u00f3n. Si gestionas tus proyectos en un hosting con soporte 24\/7 como el de RedServicio, cualquier duda con estas directivas se resuelve en minutos, no en horas. Y un CORS bien configurado no es solo que desaparezcan los errores de consola: es que tu arquitectura entre frontend y API funcione de forma segura, predecible y escalable.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00bfQu\u00e9 es CORS y por qu\u00e9 necesitas configurarlo en Apache? Seguro que lo has visto. Est\u00e1s desarrollando tranquilo, abres la [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":977,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[3],"tags":[],"class_list":["post-975","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutoriales"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Configurar CORS en Apache: Gu\u00eda Completa y Pr\u00e1ctica - RedServicio Blog<\/title>\n<meta name=\"description\" content=\"Aprende a configurar CORS en Apache paso a paso con ejemplos de c\u00f3digo reales. Evita errores de origen cruzado y mejora tu web hoy mismo.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.redservicio.net\/blog\/configurar-cors-en-apache-guia-completa-y-practica\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Configurar CORS en Apache: Gu\u00eda Completa y Pr\u00e1ctica - RedServicio Blog\" \/>\n<meta property=\"og:description\" content=\"Aprende a configurar CORS en Apache paso a paso con ejemplos de c\u00f3digo reales. Evita errores de origen cruzado y mejora tu web hoy mismo.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.redservicio.net\/blog\/configurar-cors-en-apache-guia-completa-y-practica\/\" \/>\n<meta property=\"og:site_name\" content=\"RedServicio Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-31T06:01:42+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-31T06:01:46+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.redservicio.net\/blog\/wp-content\/uploads\/2026\/03\/img-redservicio-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"900\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Carmen Dorado\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Carmen Dorado\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.redservicio.net\/blog\/configurar-cors-en-apache-guia-completa-y-practica\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.redservicio.net\/blog\/configurar-cors-en-apache-guia-completa-y-practica\/\"},\"author\":{\"name\":\"Carmen Dorado\",\"@id\":\"https:\/\/www.redservicio.net\/blog\/#\/schema\/person\/f01a157fcd66c5faafccf03b44eff919\"},\"headline\":\"Configurar CORS en Apache: Gu\u00eda Completa y Pr\u00e1ctica\",\"datePublished\":\"2026-08-31T06:01:42+00:00\",\"dateModified\":\"2026-08-31T06:01:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.redservicio.net\/blog\/configurar-cors-en-apache-guia-completa-y-practica\/\"},\"wordCount\":1101,\"image\":{\"@id\":\"https:\/\/www.redservicio.net\/blog\/configurar-cors-en-apache-guia-completa-y-practica\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.redservicio.net\/blog\/wp-content\/uploads\/2026\/08\/1788156069_4fd35c67756f.jpg\",\"articleSection\":[\"Tutoriales\"],\"inLanguage\":\"es\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.redservicio.net\/blog\/configurar-cors-en-apache-guia-completa-y-practica\/\",\"url\":\"https:\/\/www.redservicio.net\/blog\/configurar-cors-en-apache-guia-completa-y-practica\/\",\"name\":\"Configurar CORS en Apache: Gu\u00eda Completa y Pr\u00e1ctica - RedServicio Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.redservicio.net\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.redservicio.net\/blog\/configurar-cors-en-apache-guia-completa-y-practica\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.redservicio.net\/blog\/configurar-cors-en-apache-guia-completa-y-practica\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.redservicio.net\/blog\/wp-content\/uploads\/2026\/08\/1788156069_4fd35c67756f.jpg\",\"datePublished\":\"2026-08-31T06:01:42+00:00\",\"dateModified\":\"2026-08-31T06:01:46+00:00\",\"author\":{\"@id\":\"https:\/\/www.redservicio.net\/blog\/#\/schema\/person\/f01a157fcd66c5faafccf03b44eff919\"},\"description\":\"Aprende a configurar CORS en Apache paso a paso con ejemplos de c\u00f3digo reales. Evita errores de origen cruzado y mejora tu web hoy mismo.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.redservicio.net\/blog\/configurar-cors-en-apache-guia-completa-y-practica\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.redservicio.net\/blog\/configurar-cors-en-apache-guia-completa-y-practica\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.redservicio.net\/blog\/configurar-cors-en-apache-guia-completa-y-practica\/#primaryimage\",\"url\":\"https:\/\/www.redservicio.net\/blog\/wp-content\/uploads\/2026\/08\/1788156069_4fd35c67756f.jpg\",\"contentUrl\":\"https:\/\/www.redservicio.net\/blog\/wp-content\/uploads\/2026\/08\/1788156069_4fd35c67756f.jpg\",\"width\":1024,\"height\":1024,\"caption\":\"configurar CORS en Apache\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.redservicio.net\/blog\/configurar-cors-en-apache-guia-completa-y-practica\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.redservicio.net\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Configurar CORS en Apache: Gu\u00eda Completa y Pr\u00e1ctica\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.redservicio.net\/blog\/#website\",\"url\":\"https:\/\/www.redservicio.net\/blog\/\",\"name\":\"RedServicio Blog\",\"description\":\"Hosting, Dominios y Tecnolog\u00eda\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.redservicio.net\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.redservicio.net\/blog\/#\/schema\/person\/f01a157fcd66c5faafccf03b44eff919\",\"name\":\"Carmen Dorado\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.redservicio.net\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/546fd569ee8d74b07022a88de8fe4a0521f80910252c3f6d4989b81023464d89?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/546fd569ee8d74b07022a88de8fe4a0521f80910252c3f6d4989b81023464d89?s=96&d=mm&r=g\",\"caption\":\"Carmen Dorado\"},\"description\":\"Carmen Dorado aborda la experiencia de usuario, atencion al cliente y buenas practicas en documentacion y soporte tecnico.\",\"url\":\"https:\/\/www.redservicio.net\/blog\/author\/carmen-dorado\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Configurar CORS en Apache: Gu\u00eda Completa y Pr\u00e1ctica - RedServicio Blog","description":"Aprende a configurar CORS en Apache paso a paso con ejemplos de c\u00f3digo reales. Evita errores de origen cruzado y mejora tu web hoy mismo.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.redservicio.net\/blog\/configurar-cors-en-apache-guia-completa-y-practica\/","og_locale":"es_ES","og_type":"article","og_title":"Configurar CORS en Apache: Gu\u00eda Completa y Pr\u00e1ctica - RedServicio Blog","og_description":"Aprende a configurar CORS en Apache paso a paso con ejemplos de c\u00f3digo reales. Evita errores de origen cruzado y mejora tu web hoy mismo.","og_url":"https:\/\/www.redservicio.net\/blog\/configurar-cors-en-apache-guia-completa-y-practica\/","og_site_name":"RedServicio Blog","article_published_time":"2026-08-31T06:01:42+00:00","article_modified_time":"2026-08-31T06:01:46+00:00","og_image":[{"width":1200,"height":900,"url":"https:\/\/www.redservicio.net\/blog\/wp-content\/uploads\/2026\/03\/img-redservicio-1.jpg","type":"image\/jpeg"}],"author":"Carmen Dorado","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Carmen Dorado","Tiempo de lectura":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.redservicio.net\/blog\/configurar-cors-en-apache-guia-completa-y-practica\/#article","isPartOf":{"@id":"https:\/\/www.redservicio.net\/blog\/configurar-cors-en-apache-guia-completa-y-practica\/"},"author":{"name":"Carmen Dorado","@id":"https:\/\/www.redservicio.net\/blog\/#\/schema\/person\/f01a157fcd66c5faafccf03b44eff919"},"headline":"Configurar CORS en Apache: Gu\u00eda Completa y Pr\u00e1ctica","datePublished":"2026-08-31T06:01:42+00:00","dateModified":"2026-08-31T06:01:46+00:00","mainEntityOfPage":{"@id":"https:\/\/www.redservicio.net\/blog\/configurar-cors-en-apache-guia-completa-y-practica\/"},"wordCount":1101,"image":{"@id":"https:\/\/www.redservicio.net\/blog\/configurar-cors-en-apache-guia-completa-y-practica\/#primaryimage"},"thumbnailUrl":"https:\/\/www.redservicio.net\/blog\/wp-content\/uploads\/2026\/08\/1788156069_4fd35c67756f.jpg","articleSection":["Tutoriales"],"inLanguage":"es"},{"@type":"WebPage","@id":"https:\/\/www.redservicio.net\/blog\/configurar-cors-en-apache-guia-completa-y-practica\/","url":"https:\/\/www.redservicio.net\/blog\/configurar-cors-en-apache-guia-completa-y-practica\/","name":"Configurar CORS en Apache: Gu\u00eda Completa y Pr\u00e1ctica - RedServicio Blog","isPartOf":{"@id":"https:\/\/www.redservicio.net\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.redservicio.net\/blog\/configurar-cors-en-apache-guia-completa-y-practica\/#primaryimage"},"image":{"@id":"https:\/\/www.redservicio.net\/blog\/configurar-cors-en-apache-guia-completa-y-practica\/#primaryimage"},"thumbnailUrl":"https:\/\/www.redservicio.net\/blog\/wp-content\/uploads\/2026\/08\/1788156069_4fd35c67756f.jpg","datePublished":"2026-08-31T06:01:42+00:00","dateModified":"2026-08-31T06:01:46+00:00","author":{"@id":"https:\/\/www.redservicio.net\/blog\/#\/schema\/person\/f01a157fcd66c5faafccf03b44eff919"},"description":"Aprende a configurar CORS en Apache paso a paso con ejemplos de c\u00f3digo reales. Evita errores de origen cruzado y mejora tu web hoy mismo.","breadcrumb":{"@id":"https:\/\/www.redservicio.net\/blog\/configurar-cors-en-apache-guia-completa-y-practica\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.redservicio.net\/blog\/configurar-cors-en-apache-guia-completa-y-practica\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.redservicio.net\/blog\/configurar-cors-en-apache-guia-completa-y-practica\/#primaryimage","url":"https:\/\/www.redservicio.net\/blog\/wp-content\/uploads\/2026\/08\/1788156069_4fd35c67756f.jpg","contentUrl":"https:\/\/www.redservicio.net\/blog\/wp-content\/uploads\/2026\/08\/1788156069_4fd35c67756f.jpg","width":1024,"height":1024,"caption":"configurar CORS en Apache"},{"@type":"BreadcrumbList","@id":"https:\/\/www.redservicio.net\/blog\/configurar-cors-en-apache-guia-completa-y-practica\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.redservicio.net\/blog\/"},{"@type":"ListItem","position":2,"name":"Configurar CORS en Apache: Gu\u00eda Completa y Pr\u00e1ctica"}]},{"@type":"WebSite","@id":"https:\/\/www.redservicio.net\/blog\/#website","url":"https:\/\/www.redservicio.net\/blog\/","name":"RedServicio Blog","description":"Hosting, Dominios y Tecnolog\u00eda","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.redservicio.net\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Person","@id":"https:\/\/www.redservicio.net\/blog\/#\/schema\/person\/f01a157fcd66c5faafccf03b44eff919","name":"Carmen Dorado","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.redservicio.net\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/546fd569ee8d74b07022a88de8fe4a0521f80910252c3f6d4989b81023464d89?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/546fd569ee8d74b07022a88de8fe4a0521f80910252c3f6d4989b81023464d89?s=96&d=mm&r=g","caption":"Carmen Dorado"},"description":"Carmen Dorado aborda la experiencia de usuario, atencion al cliente y buenas practicas en documentacion y soporte tecnico.","url":"https:\/\/www.redservicio.net\/blog\/author\/carmen-dorado\/"}]}},"_links":{"self":[{"href":"https:\/\/www.redservicio.net\/blog\/wp-json\/wp\/v2\/posts\/975","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.redservicio.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.redservicio.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.redservicio.net\/blog\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.redservicio.net\/blog\/wp-json\/wp\/v2\/comments?post=975"}],"version-history":[{"count":1,"href":"https:\/\/www.redservicio.net\/blog\/wp-json\/wp\/v2\/posts\/975\/revisions"}],"predecessor-version":[{"id":976,"href":"https:\/\/www.redservicio.net\/blog\/wp-json\/wp\/v2\/posts\/975\/revisions\/976"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.redservicio.net\/blog\/wp-json\/wp\/v2\/media\/977"}],"wp:attachment":[{"href":"https:\/\/www.redservicio.net\/blog\/wp-json\/wp\/v2\/media?parent=975"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.redservicio.net\/blog\/wp-json\/wp\/v2\/categories?post=975"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.redservicio.net\/blog\/wp-json\/wp\/v2\/tags?post=975"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}