Question

Ceci est encore une autre question .htaccess. Et j'ai déjà fait ma revue de littérature. J'apprécierais toute aide.

Conditions requises:

  1. Ne forcez HTTPS que pour quelques URL.
  2. Le navigateur ne doit pas indiquer page partiellement cryptée pour les pages SSL.

J'utilise CodeIgnitor et j'ai peaufiné base_url dans config.php en:

$config['base_url'] = (isset(

Ceci est encore une autre question .htaccess. Et j'ai déjà fait ma revue de littérature. J'apprécierais toute aide.

Conditions requises:

  1. Ne forcez HTTPS que pour quelques URL.
  2. Le navigateur ne doit pas indiquer page partiellement cryptée pour les pages SSL.

J'utilise CodeIgnitor et j'ai peaufiné base_url dans config.php en:

RewriteCond %{HTTPS} !on
RewriteRule ^(.*)/(abc|xyz|pqr)(.*)$ https://%{HTTP_HOST}/cart/$2$3 [R=301,NC,L]

RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !^(.*)/(abc|xyz|pqr)(.*)$ [NC]
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,NC,L]

Ainsi, si une adresse URL est utilisée avec https: // , tous les liens qu'elle contient seraient également sur HTTPS afin d'éviter "une page partiellement cryptée". problème.

J'ai commencé avec le code htaccess suivant:

RewriteCond %{HTTPS} !on
RewriteRule ^(.*)/(abc|xyz|pqr)(.*)$ https://%{HTTP_HOST}/cart/$2$3 [R=301,NC,L]

RewriteCond %{HTTPS} on
RewriteCond %{HTTP_REFERER} !^(https)(.*)$
RewriteCond %{REQUEST_URI} !^(.*)/(abc|xyz|pqr)(.*)$ [NC]
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,NC,L]

Si cette URL est abc , xyz ou pqr sera redirigé vers HTTPS et toute URL ne l'ayant pas sera forcée de revenir à HTTP.

Cela a bien fonctionné, le seul problème avec cela est qu’il n’est pas possible d’éviter les "pages partiellement cryptées". problème. Par exemple, si je choisis l'URL http://www.example.com/abc/ index.php , il sera redirigé vers https: //www.exemple.com/abc/index.php . Mais les liens sur cette page indiquent https://www.example.com/images/ logo.png , sera remplacé par HTTP en raison de la dernière règle de réécriture. Ce qui rend la page partiellement cryptée.

J'ai également essayé d'ajouter http_referer comme ceci pour résoudre ce problème, mais cela ne résoudra évidemment pas le problème. Les clics provenant d'une page HTTPS ne seraient jamais convertis au format HTTP.

<*>

Je veux juste savoir s’il existe une meilleure approche face à ce problème simple ou si je le fais mal. Est-ce que l’utilisation de crochets CI au lieu de .htaccess résoudra ce problème?

Merci d'avance

SERVER['HTTPS']) &&

Ceci est encore une autre question .htaccess. Et j'ai déjà fait ma revue de littérature. J'apprécierais toute aide.

Conditions requises:

  1. Ne forcez HTTPS que pour quelques URL.
  2. Le navigateur ne doit pas indiquer page partiellement cryptée pour les pages SSL.

J'utilise CodeIgnitor et j'ai peaufiné base_url dans config.php en:

<*>

Ainsi, si une adresse URL est utilisée avec https: // , tous les liens qu'elle contient seraient également sur HTTPS afin d'éviter "une page partiellement cryptée". problème.

J'ai commencé avec le code htaccess suivant:

<*>

Si cette URL est abc , xyz ou pqr sera redirigé vers HTTPS et toute URL ne l'ayant pas sera forcée de revenir à HTTP.

Cela a bien fonctionné, le seul problème avec cela est qu’il n’est pas possible d’éviter les "pages partiellement cryptées". problème. Par exemple, si je choisis l'URL http://www.example.com/abc/ index.php , il sera redirigé vers https: //www.exemple.com/abc/index.php . Mais les liens sur cette page indiquent https://www.example.com/images/ logo.png , sera remplacé par HTTP en raison de la dernière règle de réécriture. Ce qui rend la page partiellement cryptée.

J'ai également essayé d'ajouter http_referer comme ceci pour résoudre ce problème, mais cela ne résoudra évidemment pas le problème. Les clics provenant d'une page HTTPS ne seraient jamais convertis au format HTTP.

<*>

Je veux juste savoir s’il existe une meilleure approche face à ce problème simple ou si je le fais mal. Est-ce que l’utilisation de crochets CI au lieu de .htaccess résoudra ce problème?

Merci d'avance

SERVER['HTTPS']=='on') ? 'https://' : 'http://' ; $config['base_url'] .=

Ceci est encore une autre question .htaccess. Et j'ai déjà fait ma revue de littérature. J'apprécierais toute aide.

Conditions requises:

  1. Ne forcez HTTPS que pour quelques URL.
  2. Le navigateur ne doit pas indiquer page partiellement cryptée pour les pages SSL.

J'utilise CodeIgnitor et j'ai peaufiné base_url dans config.php en:

<*>

Ainsi, si une adresse URL est utilisée avec https: // , tous les liens qu'elle contient seraient également sur HTTPS afin d'éviter "une page partiellement cryptée". problème.

J'ai commencé avec le code htaccess suivant:

<*>

Si cette URL est abc , xyz ou pqr sera redirigé vers HTTPS et toute URL ne l'ayant pas sera forcée de revenir à HTTP.

Cela a bien fonctionné, le seul problème avec cela est qu’il n’est pas possible d’éviter les "pages partiellement cryptées". problème. Par exemple, si je choisis l'URL http://www.example.com/abc/ index.php , il sera redirigé vers https: //www.exemple.com/abc/index.php . Mais les liens sur cette page indiquent https://www.example.com/images/ logo.png , sera remplacé par HTTP en raison de la dernière règle de réécriture. Ce qui rend la page partiellement cryptée.

J'ai également essayé d'ajouter http_referer comme ceci pour résoudre ce problème, mais cela ne résoudra évidemment pas le problème. Les clics provenant d'une page HTTPS ne seraient jamais convertis au format HTTP.

<*>

Je veux juste savoir s’il existe une meilleure approche face à ce problème simple ou si je le fais mal. Est-ce que l’utilisation de crochets CI au lieu de .htaccess résoudra ce problème?

Merci d'avance

SERVER['HTTP_HOST']; $config['base_url'] .= preg_replace('@/+$@','',dirname(

Ceci est encore une autre question .htaccess. Et j'ai déjà fait ma revue de littérature. J'apprécierais toute aide.

Conditions requises:

  1. Ne forcez HTTPS que pour quelques URL.
  2. Le navigateur ne doit pas indiquer page partiellement cryptée pour les pages SSL.

J'utilise CodeIgnitor et j'ai peaufiné base_url dans config.php en:

<*>

Ainsi, si une adresse URL est utilisée avec https: // , tous les liens qu'elle contient seraient également sur HTTPS afin d'éviter "une page partiellement cryptée". problème.

J'ai commencé avec le code htaccess suivant:

<*>

Si cette URL est abc , xyz ou pqr sera redirigé vers HTTPS et toute URL ne l'ayant pas sera forcée de revenir à HTTP.

Cela a bien fonctionné, le seul problème avec cela est qu’il n’est pas possible d’éviter les "pages partiellement cryptées". problème. Par exemple, si je choisis l'URL http://www.example.com/abc/ index.php , il sera redirigé vers https: //www.exemple.com/abc/index.php . Mais les liens sur cette page indiquent https://www.example.com/images/ logo.png , sera remplacé par HTTP en raison de la dernière règle de réécriture. Ce qui rend la page partiellement cryptée.

J'ai également essayé d'ajouter http_referer comme ceci pour résoudre ce problème, mais cela ne résoudra évidemment pas le problème. Les clics provenant d'une page HTTPS ne seraient jamais convertis au format HTTP.

<*>

Je veux juste savoir s’il existe une meilleure approche face à ce problème simple ou si je le fais mal. Est-ce que l’utilisation de crochets CI au lieu de .htaccess résoudra ce problème?

Merci d'avance

SERVER['SCRIPT_NAME'])).'/';

Ainsi, si une adresse URL est utilisée avec https: // , tous les liens qu'elle contient seraient également sur HTTPS afin d'éviter "une page partiellement cryptée". problème.

J'ai commencé avec le code htaccess suivant:

<*>

Si cette URL est abc , xyz ou pqr sera redirigé vers HTTPS et toute URL ne l'ayant pas sera forcée de revenir à HTTP.

Cela a bien fonctionné, le seul problème avec cela est qu’il n’est pas possible d’éviter les "pages partiellement cryptées". problème. Par exemple, si je choisis l'URL http://www.example.com/abc/ index.php , il sera redirigé vers https: //www.exemple.com/abc/index.php . Mais les liens sur cette page indiquent https://www.example.com/images/ logo.png , sera remplacé par HTTP en raison de la dernière règle de réécriture. Ce qui rend la page partiellement cryptée.

J'ai également essayé d'ajouter http_referer comme ceci pour résoudre ce problème, mais cela ne résoudra évidemment pas le problème. Les clics provenant d'une page HTTPS ne seraient jamais convertis au format HTTP.

<*>

Je veux juste savoir s’il existe une meilleure approche face à ce problème simple ou si je le fais mal. Est-ce que l’utilisation de crochets CI au lieu de .htaccess résoudra ce problème?

Merci d'avance

Était-ce utile?

La solution 2

d'accord. Je pense avoir trouvé la solution. je l'ai aussi testé sur mon serveur. fonctionne bien .. avait besoin aussi d'une condition de référent http dans la réécriture

RewriteCond %{HTTPS} !on
RewriteRule ^(.*)/(abc|xyz|pqr)(.*)$ https://%{HTTP_HOST}/cart/$2$3 [R=301,NC,L]

RewriteCond %{HTTPS} on
RewriteCond %{HTTP_REFERER} !^https(.*)/(abc|xyz|pqr)(.*)$ [NC]
RewriteCond %{REQUEST_URI} !^(.*)/(abc|xyz|pqr)(.*)$ [NC]
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,NC,L]

Maintenant, si vous visitez l'une des pages avec (abc, xyz, pqr), il sera redirigé vers https: // ... De plus, tous les liens intégrés seront servis à partir de https. de sorte que le navigateur n'affiche pas l'avertissement de chiffrement partiel (panneau d'avertissement rouge dans la barre d'état)

lorsque vous vous éloignerez de l'une de ces pages, cette page sera en ssl à cause de la vérification du référent, et cette page pourrait afficher un avertissement partiellement crypté (mais je peux vivre avec). Une fois que vous aurez quitté cette page, tout sera non-SSL.

J'espère que ça aide quelqu'un !!!

Autres conseils

Vous pouvez placer votre contenu statique sur un domaine différent, tel que static.example.com , et désactiver la redirection HTTPS vers HTTP pour de telles demandes.

Utilisez // static.example.com/… pour référencer ces ressources afin d'utiliser le même schéma d'URI que le document dans lequel la référence est contenue et à tester dans votre RewriteRule . si une telle ressource est demandée:

RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} !=static.example.com
RewriteRule !(^|/)(abc|xyz|pqr) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,NC,L]
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top