Foros del Web » Administración de Sistemas » Apache »

mod_rewrite para que url quede asi http://noticias.nombredominio.com.mx

Estas en el tema de mod_rewrite para que url quede asi http://noticias.nombredominio.com.mx en el foro de Apache en Foros del Web. Hace tiempo que conoci el mod_rewrite y hasta ahorita me ha funcionado perfecto para este tipo de url 1.-http//www.nombredominio.com.mx/noticias.html 2.-http//www.nombredominio.com.mx/noticias/ pero tengo la curiosidad si ...
  #1 (permalink)  
Antiguo 20/01/2011, 16:27
Avatar de mark_ant0n  
Fecha de Ingreso: enero-2009
Ubicación: Comitan, Chiapas mx
Mensajes: 388
Antigüedad: 15 años, 10 meses
Puntos: 6
mod_rewrite para que url quede asi http://noticias.nombredominio.com.mx

Hace tiempo que conoci el mod_rewrite y hasta ahorita me ha funcionado perfecto para este tipo de url
1.-http//www.nombredominio.com.mx/noticias.html
2.-http//www.nombredominio.com.mx/noticias/

pero tengo la curiosidad si se puede hacer que quede de esta manera

1.-http//noticias.nombredominio.com.mx/ ya sea con www o sin el www

les pongo a disposicion mi .htaccess para el que le sirva lo hagarre de un tutorial lamentablemente no recuerdo de que pagina era.
Código .htaccess:
Ver original
  1. <ifmodule mod_rewrite.c>
  2. RewriteEngine On
  3. RewriteCond %{REQUEST_FILENAME} !-f
  4. RewriteCond %{REQUEST_FILENAME} !-d
  5. RewriteRule ^(.*)\/$ index.php?route=$1 [L,QSA]
  6. </ifmodule>

función para leer la variable route

Código PHP:
Ver original
  1. function getVariables($url)
  2. {
  3.     $url = preg_replace('/\/$/', '', $url);
  4.     $variables = explode('/', $url);
  5.     $cantVariables = count($variables);
  6.     $num= $cantVariables-1;
  7.     for($c = 0; $c<$num; $c++){$variables[$c] = limpiar($variables[$c]);}
  8.     return $variables;
  9. }
  10. function limpiar($valor){return preg_replace('/[^a-zA-Z0-9-_]/', '', $valor);}
Como se toman las variables con este ejemplo: http://localhost/ranking/liga/

Código PHP:
Ver original
  1. if(isset($_REQUEST['route'])){
  2. $misVariablesGet = getVariables($_GET['route']);
  3. if(!empty($misVariablesGet[0])){
  4. $url=$misVariablesGet[0];//de esta manera url tiene el valor de [B]liga[/B]
  5. }

hay que tener en cuenta que para que el css y las imagenes tengan la ruta correcta hay que poner la etiqueta base entre head y /head
Código HTML:
Ver original
  1. <base href="http://localhost:8081/ranking/"/>

Bueno la finalidad de mi post es saber si alguien me puede ayudar con el .htaccess que no le logro agarrar a las expresiones regulares, saludos y gracias comunidad...
__________________
"Diseño de software a la medida"

http://www.sadhoc.com

Etiquetas: quede, url
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:11.