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 .