una programacion pagina introduccion etiquetas estructura ejemplos basicas basica javascript php css .htaccess https

javascript - pagina - introduccion a la programacion en html



Página de contenido mixto: solicitó un error de hoja de estilo inseguro (4)

Tengo un sitio web trabajando en eso. cuando abro cualquier página con el protocolo http: //, todo se carga correctamente, pero cuando intento cargar la página con el protocolo https, la página se carga pero sin css y el archivo javascript.
La consola muestra los siguientes errores.

Contenido mixto: la página en '' https://www.example.com/index.php?main_page=login '' se cargó a través de HTTPS, pero solicitó una hoja de estilo insegura '' http://www.example.com/site_map.html '' . Esta solicitud ha sido bloqueada; el contenido debe ser servido a través de HTTPS.

Pensé que el problema es que el navegador no puede cargar ningún archivo css cuando lo solicita el protocolo https.
El problema es con el archivo htaccess, porque cuando lo eliminé, los archivos css se cargaron correctamente.

Los archivos de página y css cargados en el navegador con https en sus direcciones URL como este

<link rel="stylesheet" type="text/css" href="https://www.example.com/includes/templates/classic/css/style1.css"> <link rel="stylesheet" type="text/css" href="https://www.example.com/includes/templates/classic/css/style2.css">

cuando el navegador intenta cargar los archivos css, se lo redirige a

http://www.example.com/site_map.html

¿Cómo puedo hacer que htaccess permita que https abra los archivos css y js en una carpeta específica?

Gracias

ACTUALIZACIÓN El contenido del archivo htaccess

RewriteEngine On RewriteCond %{SERVER_PORT} ^443$ RewriteRule (.*) http://www.example.com/$1 ############################################################################### # Common directives ############################################################################### # NOTE: Replace /shop/ with the relative web path of your catalog in the "Rewrite Base" line below: Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^example/.com$ [NC] RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L] RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}/ /index/.php/ HTTP/ RewriteRule ^index/.php$ http://www.example.com/ [R=301,L] #RewriteBase / ############################################################################### # Start Ultimate SEO URLs ############################################################################### # Original (unchanged) URL formats RewriteRule ^(.*)-p-([0-9]+)(.*)$ index/.php?main_page=product_info&products_id=$2&%{QUERY_STRING} [L] RewriteRule ^(.*)-c-(.*)-p(.*)/.html$ /index.php?main_page=$4&cPath=$2&sort=$5&page=$3 RewriteRule ^(.*)-c-([0-9_]+)(.*)$ index/.php?main_page=index&cPath=$2&%{QUERY_STRING} [L] RewriteRule ^(.*)-ez-(.*).html$ index.php?main_page=page&id=$2 [L] # All other pages # Don''t rewrite real files or directories RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index/.php?main_page=$1&%{QUERY_STRING} [L] # Block out any script trying to base64_encode data within the URL. RewriteCond %{QUERY_STRING} base64_encode[^(]*/([^)]*/) [OR] # Block out any script that includes a <script> tag in URL. RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR] # Block out any script trying to set a PHP GLOBALS variable via URL. RewriteCond %{QUERY_STRING} GLOBALS(=|/[|/%[0-9A-Z]{0,2}) [OR] # Block out any script trying to modify a _REQUEST variable via URL. RewriteCond %{QUERY_STRING} _REQUEST(=|/[|/%[0-9A-Z]{0,2}) RewriteRule index.html$ index.php [QSA] # 480 weeks <FilesMatch "/.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$"> Header set Cache-Control "max-age=290304000, public" </FilesMatch> # 2 DAYS <FilesMatch "/.(xml|txt)$"> Header set Cache-Control "max-age=172800, public, must-revalidate" </FilesMatch> # 2 HOURS <FilesMatch "/.(html|htm)$"> Header set Cache-Control "max-age=7200, must-revalidate" </FilesMatch> # compress text, html, javascript, css, xml: AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/x-javascript RewriteEngine on RewriteBase / ErrorDocument 404 /index.php RewriteRule index.html$ index.php [QSA]


Aquí está tu problema:

RewriteCond %{SERVER_PORT} ^443$ RewriteRule (.*) http://www.example.com/$1

No permite solicitudes SSL (el número de puerto 443 se usa para solicitudes HTTPS). Intenta eliminar estas líneas.


Lo más probable es que dentro de tu código html tengas algo así como

<link href="http://someSite.com/css/someStyle.css" rel="stylesheet" type="text/css" />

deberías cambiar esto a

<link href="https://someSite.com/css/someStyle.css" rel="stylesheet" type="text/css" />

también la página a la que te refieres es .html no css, pero supongo que es un error tipográfico ...


Si puede servir CSS, etc. a través de HTTPS, la mejor solución es usar // como el esquema para las URL de los activos.

Eso significa "usar el mismo esquema (a veces llamado protocolo ) como el documento principal", es decir, usar https si la página usa https . Por ejemplo:

<link rel="stylesheet" href="//mysite.com/styles.css"> <script src="//mysite.com/app.js"></script>


Utilicé el plugin Cloudflare como se describe en su guía here .