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

Url amigables

Estas en el tema de Url amigables en el foro de Apache en Foros del Web. Hola amigos como puedo hacer lo siguiente http://www.apple.com/es/iphone/features/ queda muy limpia su direccion y si burro features voy a iphone y todo va bien. y ...
  #1 (permalink)  
Antiguo 14/11/2012, 15:14
 
Fecha de Ingreso: marzo-2009
Mensajes: 356
Antigüedad: 15 años, 1 mes
Puntos: 7
Url amigables

Hola amigos como puedo hacer lo siguiente

http://www.apple.com/es/iphone/features/

queda muy limpia su direccion y si burro features voy a iphone y todo va bien.

y si cambio "es" por "en" me cambia de idioma, asi de facil.

como se logra esto ? es trabajo de carpetas anidadas?

o con htaccess? pero como se hace, investigue pero no lo soluciono

mi web es asi

http://www.miempresa.com/marketing-e...s-sociales.php
lo que quiero es q salga www.miempresa.com/marketing/redes-sociales

y si borro redes-sociales que vaya a marketing

tengo 2 paginas para este ejemplo que plantie

marketing.php y marketing-en-redes-sociales.php

Necesito su apoyo
  #2 (permalink)  
Antiguo 14/11/2012, 15:44
Avatar de llorcasantana  
Fecha de Ingreso: octubre-2012
Mensajes: 45
Antigüedad: 11 años, 5 meses
Puntos: 2
Respuesta: Url amigables

espero que sepas que se hace con .htacces
asi no se como, pero si puedo decirte lo siguiente.

www.miempresa.com/index.php?lang=es&marketing=redes-sociales

creas un archivo llamado .htaccess

dentro pones esto

<IfModule mod_rewrite.c>
# Activar RewriteEngine
RewriteEngine on
RewriteRule ^es/marketing/redessociales index.php?lang=es&marketing=redes-sociales [L,NC]
</IfModule>

espero y te sirva. como tambien espero que sepas trabajar con el parametro GET
  #3 (permalink)  
Antiguo 14/11/2012, 15:50
Avatar de llorcasantana  
Fecha de Ingreso: octubre-2012
Mensajes: 45
Antigüedad: 11 años, 5 meses
Puntos: 2
Respuesta: Url amigables

mmmm, prueba a ver si te sirve asi

<IfModule mod_rewrite.c>
# Activar RewriteEngine
RewriteEngine on
RewriteRule ^es/marketing/redes-sociales marketing-sociales.php?lang=es [L,NC]
</IfModule>
te quite el es del medio para que en marketing-sociales.php pongas al principio

Código PHP:
Ver original
  1. <?php
  2. if ((isset($_GET['lang'])) &&($_GET['lang']=="en")){
  3. include('urldelsitioeningles');
  4. }
  5. elseif ((isset($_GET['lang'])) &&($_GET['lang']=="es")){
  6. include('urldelsitioenespanol');
  7. }
  #4 (permalink)  
Antiguo 14/11/2012, 15:59
 
Fecha de Ingreso: marzo-2009
Mensajes: 356
Antigüedad: 15 años, 1 mes
Puntos: 7
Respuesta: Url amigables

si tengo 2 urls
  • marketing.php
  • marketing-en-redes-sociales.php

Cada pagina que me muestra la tengo creada con su respectivo php, desde el html,head,body, todo.

lo que quiero es captar la idea de lo de url amigables.

Para lo de IDIOMA como se hace, se crea en el directorio raiz del hosting 2 carpetas: "es" y "en" y en cada carpeta pongo los html, css, js, y todo eso ? es lo que pienso cuando miro la web de http://www.apple.com/es/iphone/design/ ( en español) y http://www.apple.com/iphone/design/ ( en ingles)

por otro lado para hacer lo siguiente de anidar marketing/redes-sociales.

tengo que cambiar la estructura de mis archivos php que cree o algo ?
  #5 (permalink)  
Antiguo 14/11/2012, 16:10
Avatar de llorcasantana  
Fecha de Ingreso: octubre-2012
Mensajes: 45
Antigüedad: 11 años, 5 meses
Puntos: 2
Respuesta: Url amigables

en el proyecto que estoy haciendo hice esto.

tengo una carpeta llamada plugings y dentro puse un archivo llamado detect_lang
tengo otra carpeta llamada lang y dentro dos archivos llamados es-ES.php y en-US.php
y el index.php

o sea, te quedara asi

index.php
plugings/detect_lang.php
lang/es-ES.php
lang/en-US.php

ahora, en detect_lang.php pon esto
Código PHP:
Ver original
  1. <?php  
  2. //Creamos una función que detecte el idioma del navegador del cliente.
  3. function getUserLanguage() {  
  4.        $idioma =substr($_SERVER["HTTP_ACCEPT_LANGUAGE"],0,2);
  5.        return $idioma;  
  6.   }
  7.    
  8.   //Almacenamos dicho idioma en una variable
  9.   $user_language=getUserLanguage();
  10.    
  11.   //De acuerdo al idioma hacemos una o varias redirecciones.
  12.   if($user_language=='en'){
  13.       $detectlang = ('en-US');
  14.   }
  15.   elseif($user_language=='es'){
  16.        $detectlang = ('es-ES');
  17.   }
  18.   else{$detectlang = ('en-US');}
  19.   ?>

luego, en index.php pones

Código PHP:
Ver original
  1. <?php
  2. if ((isset($_GET['lang'])) &&($_GET['lang']=="en")){
  3. $detectlang = ('en-US');
  4. $raiz = ('lang/');
  5. $exten = ('.php');
  6. $idiom = $detectlang ;
  7. include ($raiz."".$idiom."".$exten);
  8. }
  9. elseif ((isset($_GET['lang'])) &&($_GET['lang']=="es")){
  10. $detectlang = ('es-ES');
  11. $raiz = ('lang/');
  12. $exten = ('.php');
  13. $idiom = $detectlang ;
  14. include ($raiz."".$idiom."".$exten);
  15. }
  16. else {
  17. include ('plugings/detect_lang.php');
  18. $raiz = ('lang/');
  19. $exten = ('.php');
  20. $idiom = $detectlang ;
  21. include ($raiz."".$idiom."".$exten);
  22. }
  23. ?>

ten en cuenta que dentro de los php de idiomas empiezas a abrirlos asi
es-ES.php
Código PHP:
Ver original
  1. <?php
  2. $welcome_word= "Bienvenido";
  3. ?>
en-US.php
Código PHP:
Ver original
  1. <?php
  2. $welcome_word= "Welcome";
  3. ?>

y en index.php

solo llamas con <?php echo $welcome_word ?>

espero y te sirva de ayuda.
  #6 (permalink)  
Antiguo 14/11/2012, 16:24
 
Fecha de Ingreso: marzo-2009
Mensajes: 356
Antigüedad: 15 años, 1 mes
Puntos: 7
Respuesta: Url amigables

Lo de url amigables como lo haces? para que se aniden
  #7 (permalink)  
Antiguo 14/11/2012, 16:26
Avatar de llorcasantana  
Fecha de Ingreso: octubre-2012
Mensajes: 45
Antigüedad: 11 años, 5 meses
Puntos: 2
Respuesta: Url amigables

no te entiendo

Etiquetas: amigables, 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 23:17.