Pregunta

Me gustaría redirigir todas las conexiones de htt_p: //www.example.com/abc.html a HTTP_S: //www.example.com/abc.html. Lo mod_alias o comandos mod_rewrite trabajaría para esto? He intentado:

RewriteEngine on
RewriteCond %{HTTPS} =off
RewriteRule $abc\.html^ https://www.example.com/abc.html [R]

tanto en .htaccess y httpd.conf, pero eso no funciona. Funciona si la primera cadena en el RewriteRule es otra cosa (como abz.html), pero no si es abc.html. abc.html es un archivo real en el servidor (no otro redireccionamiento). Opciones FollowSymLinks está presente en la directiva Directory adecuado.

Muchas gracias.

¿Fue útil?

Solución

Algo a lo largo de las líneas de la siguiente le permitirá redirigir las páginas que no son SSL a versiones SSL (suponiendo que está ejecutando SSL en el puerto 443):

RewriteEngine on

# Limited redirects
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{REQUEST_URI} ^/abc\.html$ [OR,NC]
RewriteCond %{REQUEST_URI} ^/def\.html$ [OR,NC]
RewriteCond %{REQUEST_URI} ^/ghi\.html$ [NC]
RewriteRule ^/(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

El [OR] bandera después de la RewriteCond es literalmente que, "o", por lo que la última condición no lo tiene

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top