• 0
  • 8 RepliesReplies
  • 6654 ReadTimes Read
  • 5 PointsPoints

Topic: Modificar htaccess para urls amigables

Usuario: Sofía
Rango: Excelente User
Mensajes: 176
Points: 174
Mi web: http://www.chatrsr.com.ar
Perfil: View Profile
Pais:
ar
Modificar htaccess para urls amigables
September 19, 2012 - 05:09 05:09
Hola chicos, bueno lo que quiero hacer es cambiar la ruta de las url, dejo una como ejemplo

http://www.chatrsr.com.ar/index.php?page=chat - verse asi: http://www.chatrsr.com.ar/rosario

Ya probé hacerlo yo misma pero no me sale :/ quiero hacerlo manualmente porque son pocas las web que me faltan acomodar

Este es mi htaccess

Code: [Select]
# PRETTYURLS MOD BEGINS
# Pretty URLs mod
# http://code.google.com/p/prettyurls/
# .htaccess file generated automatically on: September 19, 2012, 5:46

RewriteEngine on
RewriteBase /

# Rules for: actions
RewriteRule ^pages/(.*)\.html index.php?page=$1 [L]
RewriteRule ^(activate|admin|announce|attachapprove|buddy|calendar|clock|collapse)/?$ ./index.php?pretty;action=$1 [L,QSA]
RewriteRule ^(coppa|credits|deletemsg|display|dlattach|editpoll|editpoll2|emailuser)/?$ ./index.php?pretty;action=$1 [L,QSA]
RewriteRule ^(findmember|forum|portal|groups|help|helpadmin|im|jseditor)/?$ ./index.php?pretty;action=$1 [L,QSA]
RewriteRule ^(jsmodify|jsoption|lock|lockvoting|login|login2|logout|markasread)/?$ ./index.php?pretty;action=$1 [L,QSA]
RewriteRule ^(mergetopics|mlist|moderate|modifycat|modifykarma|movetopic|movetopic2|notify)/?$ ./index.php?pretty;action=$1 [L,QSA]
RewriteRule ^(notifyboard|openidreturn|pm|post|post2|printpage|profile|quotefast)/?$ ./index.php?pretty;action=$1 [L,QSA]
RewriteRule ^(quickmod|quickmod2|recent|register|register2|reminder|removepoll|removetopic2)/?$ ./index.php?pretty;action=$1 [L,QSA]
RewriteRule ^(reporttm|requestmembers|restoretopic|search|search2|sendtopic|smstats|suggest)/?$ ./index.php?pretty;action=$1 [L,QSA]
RewriteRule ^(spellcheck|splittopics|stats|sticky|tags|theme|trackip|about:mozilla)/?$ ./index.php?pretty;action=$1 [L,QSA]
RewriteRule ^(about:unknown|unread|unreadreplies|verificationcode|viewprofile|vote|viewquery|viewsmfile)/?$ ./index.php?pretty;action=$1 [L,QSA]
RewriteRule ^(who|\.xml|xmlhttp)/?$ ./index.php?pretty;action=$1 [L,QSA]

# Rules for: boards
RewriteRule ^([-_!~*'()$a-zA-Z0-9]+)/?$ ./index.php?pretty;board=$1.0 [L,QSA]
RewriteRule ^([-_!~*'()$a-zA-Z0-9]+)/([0-9]*)/?$ ./index.php?pretty;board=$1.$2 [L,QSA]

# Rules for: topics
RewriteRule ^([-_!~*'()$a-zA-Z0-9]+)/([-_!~*'()$a-zA-Z0-9]+)/?$ ./index.php?pretty;board=$1;topic=$2.0 [L,QSA]
RewriteRule ^([-_!~*'()$a-zA-Z0-9]+)/([-_!~*'()$a-zA-Z0-9]+)/([0-9]*|msg[0-9]*|new)/?$ ./index.php?pretty;board=$1;topic=$2.$3 [L,QSA]

# PRETTYURLS MOD ENDS

Gracias!!  :)
Chat Argentina y Contenido Original en Foros
Usuario: Papá distante
Rango: Moderador Global
Mensajes: 3504
Points: 168
Perfil: View Profile
Pais:
de
Re:Modificar htaccess para urls amigables
Reply #1 September 19, 2012 - 06:46 06:46
Estas usando PrettyUrls según veo, este mismo tiene una opción de reconstruir las acciones.

Normalmente haría una simple redirección para lograr lo que dices, pero cuando esta el código de pretty prefiero dejarlo que el mismo lo haga para no romper nada u.u
Usuario: manix
Rango: User Extremo
Mensajes: 437
Points: 214
Perfil: View Profile
Pais:
cr
Re:Modificar htaccess para urls amigables
Reply #2 September 19, 2012 - 09:35 09:35
Hola,

Mira, acá te dejo como sería a nivel de .htaccess:

Paginas: ejemplo.com/index.php?page=nombre-pagina -> ejemplo.com/p/nombre-pagina
RewriteRule ^p/(.*)\.html index.php?page=$1 [L]

Acciones: ejemplo.com/index.php?action=nombre-accion-> ejemplo.com/nombre-accion
RewriteRule ^(activate|admin|announce|attachapprove|buddy|calendar|clock|collapse)/?$ ./index.php?pretty;action=$1 [L,QSA]

Categorias: ejemplo.com/index.php?board=23 -> ejemplo.com/categoria/nombre-de-la-categoria-numero-23
# Rules for: boards
RewriteRule ^categoria/([-_!~*'()$a-zA-Z0-9]+)/?$ ./index.php?pretty;board=$1.0 [L,QSA]

Temas: ejemplo.com/index.php?topic=12 -> ejemplo.com/tema/nombre-del-tema-numero-12
RewriteRule ^tema/([-_!~*'()$a-zA-Z0-9]+)/([-_!~*'()$a-zA-Z0-9]+)/([0-9]*|msg[0-9]*|new)/?$ ./index.php?pretty;board=$1;topic=$2.$3 [L,QSA]

Ahora tienes un ejemplo de cada regla, puedes hacer lo mismo para las otras reglas repetidas. No lo he probado, pero recuerda hacer copia de seguridad. Además, si el prettyUrl tiene la opcion de crear su propia acción, ¿por qué no usarlo?
Usuario: 4kstore
Rango: Moderador Global
Mensajes: 4916
Points: 8111
Mi web: http://www.smfsimple.com
Perfil: View Profile
Pais:
ar
Re:Modificar htaccess para urls amigables
Reply #3 September 19, 2012 - 11:24 11:24
Ahora es el momento de sacarme la duda perdón Sofi.
Manix, que es el [L,QSA] ? nunca supe, esto merece un tuto o una guía ...
Usuario: manix
Rango: User Extremo
Mensajes: 437
Points: 214
Perfil: View Profile
Pais:
cr
Re:Modificar htaccess para urls amigables
Reply #4 September 19, 2012 - 11:34 11:34
4kstore, supone que tienes una regla para hacer que todas las urls como ejemplo.com/algun-tema se conviertan a www.ejemplo.com/algun-tema, es decir, que prefije todas las url con www. Ahora veamos que pasaría si accesamos ambas urls:

1. ejemplo.com/algun-tema: el navegador muestra el contenido correctamente
2. www.ejemplo.com/algun-tema: el navegador muestra el mismo contenido de ejemplo.com/algun-tema

Si notas lo anterior, eso es contenido duplicado (aunque nosotros sabemos que no) y los robots de indexación te pueden sancionar por eso. Para evitar este problema se especifica en la regla que lo que haces es una redirección permanente [L,QSA] o  [R=301,L]. Y digo permanente porque también existen redirecciones temporales (mientras desarrollas una pagina, le das mantenimiento, etc). Entonces es bueno que los demas lo sepan :)
Usuario: 4kstore
Rango: Moderador Global
Mensajes: 4916
Points: 8111
Mi web: http://www.smfsimple.com
Perfil: View Profile
Pais:
ar
Re:Modificar htaccess para urls amigables
Reply #5 September 19, 2012 - 11:47 11:47
Gracias manix! me sacaste terrible duda :)
Usuario: Lean
Rango: Fundador
Mensajes: 6782
Points: 236
Perfil: View Profile
Pais:
ar
Re:Modificar htaccess para urls amigables
Reply #6 September 19, 2012 - 04:16 16:16
Catedra dio manix ajjaj
Usuario: Sofía
Rango: Excelente User
Mensajes: 176
Points: 174
Mi web: http://www.chatrsr.com.ar
Perfil: View Profile
Pais:
ar
Re:Modificar htaccess para urls amigables
Reply #7 September 19, 2012 - 09:40 21:40
Hola,

Mira, acá te dejo como sería a nivel de .htaccess:

Paginas: ejemplo.com/index.php?page=nombre-pagina -> ejemplo.com/p/nombre-pagina
RewriteRule ^p/(.*)\.html index.php?page=$1 [L]

Acciones: ejemplo.com/index.php?action=nombre-accion-> ejemplo.com/nombre-accion
RewriteRule ^(activate|admin|announce|attachapprove|buddy|calendar|clock|collapse)/?$ ./index.php?pretty;action=$1 [L,QSA]

Categorias: ejemplo.com/index.php?board=23 -> ejemplo.com/categoria/nombre-de-la-categoria-numero-23
# Rules for: boards
RewriteRule ^categoria/([-_!~*'()$a-zA-Z0-9]+)/?$ ./index.php?pretty;board=$1.0 [L,QSA]

Temas: ejemplo.com/index.php?topic=12 -> ejemplo.com/tema/nombre-del-tema-numero-12
RewriteRule ^tema/([-_!~*'()$a-zA-Z0-9]+)/([-_!~*'()$a-zA-Z0-9]+)/([0-9]*|msg[0-9]*|new)/?$ ./index.php?pretty;board=$1;topic=$2.$3 [L,QSA]

Ahora tienes un ejemplo de cada regla, puedes hacer lo mismo para las otras reglas repetidas. No lo he probado, pero recuerda hacer copia de seguridad. Además, si el prettyUrl tiene la opcion de crear su propia acción, ¿por qué no usarlo?


Mmmm, ya lo probé con lo de Páginas y no se modifica... Y la opción de pretty no se donde esta :/

Por ejemplo, una de las web se llama www.chatrsr.com.ar/index.php/page,chatrosario.html y quiero que se llame www.chatrsr.com.ar/chatrosario entonces puse: RewriteRule ^chatrosario/(.*)\.html index.php/page,chatrosario.html=$1 [L] y no sale, estoy haciendo algo mal?

Usuario: manix
Rango: User Extremo
Mensajes: 437
Points: 214
Perfil: View Profile
Pais:
cr
Re:Modificar htaccess para urls amigables
Reply #8 September 20, 2012 - 09:44 09:44
Quote
RewriteRule ^chatrosario/(.*)\.html index.php/page,chatrosario.html=$1 [L] y no sale, estoy haciendo algo mal?
La regla anterior no te va a funcionar, intenta asi:

RewriteEngine on
RewriteRule ^(.*)$ /index.php/page,$1 [L]

 

TAGS



top

Smfsimple.com es un sitio destinado a brindar un servicio de soporte y herramientas para foros realizados con el sistema de foros gratuito simplemachines.org. Contamos con un selecto equipo de desarrolladores y conocedores del sistema, sus foros estaran en buenas manos.
This site is not affiliated with or endorsed by Simple Machines