type tutorial open debug app_id html http https

html - tutorial - Forma corta de enlazar a http desde https(y viceversa) mediante enlaces relativos



open graph facebook debug (5)

No estoy seguro si esto es exactamente lo que estaba buscando, pero si está usando Apache, hay un truco que puede usar para hacer esto: http://httpd.apache.org/docs/2.2/ssl/ssl_faq.html#relative

Básicamente pones lo siguiente en tu archivo de configuración de Apache:

RewriteEngine on RewriteRule ^/(.*):SSL$ https://%{SERVER_NAME}/$1 [R,L] RewriteRule ^/(.*):NOSSL$ http://%{SERVER_NAME}/$1 [R,L]

luego agregue :SSL a cualquier enlace (en la página web) para el que desea forzar HTTPS, y :NOSSL a cualquier enlace para el que quiera forzar HTTP regular.

Cuando estoy en una parte segura de un sitio web que estoy desarrollando (al ingresar a una página o carpeta específica usando https), los enlaces relativos a las páginas normales también se convierten automáticamente a https.

¿Hay una manera de decirle a una etiqueta <a> que siempre use el protocolo http en lugar del protocolo https (o al revés)?

Sé que es fácil usar el enlace completo ( http://www.mysite.com/index.html o https://www.mysite.com/index.html ), pero me gustaría que funcione con enlaces relativos (index.html, ../index.html, etc.).


No hay forma de hacer esto con los hipervínculos relativos, ya que está utilizando un protocolo diferente, no sería diferente a vincularse a una ubicación ftp.


Parece que quieres usar el elemento BASE .

No hay manera de ''decirle'' a un Ancla que use un protocolo específico o no, al menos sin usar el elemento BASE en la CABEZA de esa página.

¿Hay alguna razón por la que desee utilizar enlaces relativos sobre enlaces absolutos? Este artículo habla sobre la trampa de usar enlaces relativos con HTTPS: la posibilidad de que su sitio tenga un doble índice y demás.


Puede hacer que todos sus enlaces internos sean independientes del protocolo utilizando la siguiente sintaxis:

<a href="//some/file/on/your/domain.php">link text</a>

en lugar de

<a href="some/file/on/your/domain.php">link text</a>

// hará que el enlace respete cualquier protocolo sobre el que se haya cargado la página.


Usamos Apache mod_rewrite para controlar si una página se sirve a través de http o https. Aquí hay un fragmento de ejemplo del archivo .htaccess del directorio raíz de un sitio:

# Redirect most reqests for https to http RewriteRule ^https://www.example.com(.*) http://www.example.com$1 [R=301,NC] # Allow some URIs to be https if requested RewriteCond %{SERVER_PORT} ^443$ RewriteCond %{REQUEST_URI} !^/images/(.*)$ RewriteCond %{REQUEST_URI} !^/scripts/(.*)$ RewriteCond %{REQUEST_URI} !^/styles/(.*)$ RewriteCond %{REQUEST_URI} !^/store(.*)$ RewriteCond %{REQUEST_URI} !^/login.htm$ RewriteRule ^(.*) http://www.example.com/$1 [L,R] # Force some URIs to be https only RewriteCond %{SERVER_PORT} ^80$ RewriteRule ^store(.*) https://www.example.com/store$1 [L,R] RewriteCond %{SERVER_PORT} ^80$ RewriteRule ^FormSanityKey.htm https://www.example.com/login$1 [L,R]

Lea todo sobre esto en:

http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html