2011-05-12 28 views
6

Hola gente. Veo que este tema se repite una y otra vez en SO, pero probé varias soluciones publicadas aquí y ninguna funcionó bien para mí. Básicamente, sé cómo cambiar páginas específicas en mi sitio web para que estén en modo https. Sin embargo, no sé cómo reescribir las solicitudes http que están DENTRO del código. Entonces, por ejemplo, si mi página, por ejemplo, payment.php, contiene un enlace que carga un archivo ccs externo como este ->http://example.com/somecss.css, entonces google chrome lo verá como un enlace peligroso y mostrará un candado de color rojo junto a la url del sitio. Ahora, lo he probado manualmente al cambiar todas las solicitudes http dentro del código a https y el candado mágicamente se volvió verde, así que supongo que necesito algún tipo de regla de reescritura mod que reescriba todos los enlaces en esas páginas específicas para que puedan contener https. Espero haberlo explicado lo suficientemente bien. ¿Alguien puede ayudarme? Estoy usando codeigniter.¿Cómo reescribir desde solicitudes http a https en páginas específicas de mi sitio?

+0

Comprobar $ _SERVER [ 'HTTPS'] cuando se está construyendo a los recursos locales de la URL. – mikeds

Respuesta

3

Para volver a escribir las solicitudes http dentro del código, debe usar rutas relativas al protocolo allí.

<link rel="stylesheet" href="//www.domain.com/style.css"> 
<script src="//www.domain.com/script.js"></script> 

Se utilizará automáticamente el protocolo de la página padre

+1

sí, gracias! – Pavel

2

Debes asegurarte de que el usuario navega por tu sitio a través de una conexión segura. Puede redirigir al usuario a Conexión segura (https: //) utilizando un archivo .htaccess que contiene las siguientes líneas:

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L] 

Por favor, tenga en cuenta que la .htaccess debe estar ubicado en la carpeta principal del sitio web.

En caso de que desee forzar HTTPS para una carpeta particular, se puede utilizar:

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteCond %{REQUEST_URI} somefolder 
RewriteRule ^(.*)$ https://www.domain.com/somefolder/$1 [R,L] 

El archivo .htaccess se debe colocar en la carpeta donde tiene que forzar HTTPS.

+0

Sí, estoy usando esto y funciona bien, pero no reescribe las solicitudes http dentro del código. – Pavel

+6

¡Oh! quieres decir css y javascript? –

+0

sí exactamente. es posible? – Pavel

Cuestiones relacionadas