You are on page 1of 21
sate (Como crear URLS amigables con Mtaccess- emenia es ees © laicio © Marketing Online © Social Media Marketing © Consutoria SEO © EMail Marketing * Disefio Web © Web Empresas y profésionales © Tiendas 0: Trabaios Sobre Nosotros Noticias Bhg Contacto BLOG ..... Como crear URLS amigables con .htaccess Escrito el 11 diciembre, 2009 por Juan Di-Bustamarte Estis aqui Jo » Blog » Cémo crear URLS amigables con htaccess Qué es una URL amigable? Lo mejor es un ejemplo. Esto NO es una URL amigable: http://www.domino.es/clientes.php?id=7 En cambio esta ST es unt URL amigable: http:/Awww.domino.es/clientes/juan ‘Su propio nombre lo indica: las URL amigables son mis flies de usar y de recordar por los usuarios y tambn se dice (y hay quien dice {que no) que son mejores para el posicionamiento en buscadores. Ademais describen mucho mejor los enlaces dentro de una pina web y afade un mayor nivel de profesionalidad a muestras webs. De todas formas, cuando hemos creado una pigina dinimica en PHP lo normal es que tengamos URL no amigables. {Cémo las convertimos en amigables de manera autonsitica? Una manera de hacerlo es con un archivo .htaecess y gracias a Apache y su ‘mod_rewrite ‘Veamos la teoria: mod_rewrite es un médulo de Apache que permite manipular en el servidor lis URLs soliitadas. Es decir, cuando llega al servidor a solcitud de una URL, esta se comprucba con respecto a una serie de regs creadas con Expresiones Regulares creadas para detectar un patrén determinado. Sie encuentra ese patrén en el URL y se cumple le condiciSn impuesta por la Expresién Regular se sustiuye el patrén por una cadena de texto o por una accin determinada, sate (Como crear URLS amigables con Mtaccess- emenia es http://www. domino.es/clientes/juan Uega esa URL al Servidor que la somete a una serie de reglas creadas con Expresiones Regulares | http://www.domino.es/clientes. php?i {esto yal entiende nuostro codigo php) IMPORTANTE: Para que todo esto fincione tiene que estar activado el mxidulo mod_rewrite en nuestro servidor Apache. Podemos saber silo esté simplemente eon: <<2php phpinfo ()? > YY de entre toda la informacién recibida si el médulo est actvado tendeems apache2handler [agaste [apache/20 Sa (Oak) PEPE 2B DAVE lapacne API |20020003° Version Sener Seana am |Administrator (iad Hostname:Port ewes a0 \UseriGroup _|andazbustarrante(SOT)-1 Max Requests [Per Gnié: 0 Keep Alves: on = Max Per Connection: 100, [Timeouts | Casneaton: 200 - Keep-Alive: [virwat Server (No. [Server Rost |/ApplicaionsNIANPILbrary [moc pros Lo mis normal es que esté activado, Sino fra asi quiais tendriamos que hablar con nuestro proveedor de hosting, Una vez sabemos que mod_rewrite esti activado lo que necesitamos es un archivo htaccess ;Qué e§ un archivo -htaceess? Es un fichero de configuracién utiizado por los servidores web Apache, Son archivos de texto, {Qué vamos a eseribir en el archivo .hiaccess? Como deciamos antes, una serie de Expresiones Regulares para interpreta el URL. entrante y crear un URL saliente interpretable por nuestro cédigo. Sino sabéis nada sobre Expresiones Regulares (o Regular Expressions en Inglés) es importante que leis algo sobre las mismas antes de seguir. Con wna simple bisqueda en Google podréis encontrar gran cantidad de tutoriales. Si sabéis inglés, este tuorial do themeforest es muy bueno. También podéis bajaros esta hoja de reforencia de Expresiones ‘Regulares (en inglés) Bueno, vamos a pasar a la accién. Os aconsejo que lo hagiis también vosotros improvisando casos distintos para poderlo comprender mejor. Varns a empezar por in cjenpl senso: Vamos a crear dos archivos, uno index php y otro chats php sate (Como crear URLS amigables con Mtaccess- emenia es DOCTYPE hemt PUBLIG "=//036//D7D xHTW:, 1.0 Teansitional//EN" https / aww w3.org/TR/xhtmil /OTD/xbtmli-traneitiona? dtd"> Prem) wmlas "Atty: /Jwaw.w3.org/1999/xheml" lang-"es" xal:lang-"ea"> Me Gbad> Juan share 24658 ver clenkace es ya una URL amigable. Sin embargo al hacer click sobre el enlace necesitames interpretar esa URL que Iga alservidor para que este sepa qué hacer. Creamos un archivo de texto, lo grabamos como .htaccess y escribimos en él: 3 44 Reoscribir 1a ORL solicitads por el usuario 54 Entrada: elientes/NOMBRE/ 64 Salida: clientes.php?id-Nowane, TRawritentle “clientes/(\w+)/28 clientes.php?id-S1 ‘Vamos a ver linea @ linea, En primer hygar tenemos que activar la re-escrtura de la URL, para lo cual hay que activar RewriteEngine, A © 7 eneaa> ® 9 ctitle>sjenplo de URL amigablec/title> 10 11 eeoay> sate (Como crear URLS amigables con Mtaccess- emenia es Haced la prucba y veréis cdmo fnciona perftctamente la URL amigable, Para complicar mis las cosas se pueden inchir al final gue cada expresiin, Imaginaros por ejemplo que hubiera posibles altemativas para reescribir una URL amigable, pero queremos que una vez encusntre a primera se detenga aby no siga contrastindose con cl esto de Expresiones Reguares, Entonces la bandera a afadie seria HE #)\x(la-2n-20-9-) +) \.btml (.*)$ peoduct.php?ia peoduct=9254 (2) 14) \ htm (.*) product .php?id_product=8183 (L] LRewritenule *((2 vere 2Rewritenule *((0-9]+) \=((anza-20~ “Tendis todas las banderas en esta hoja de ayuda ripida de mod_rewrite, Por iltimo, decir que es aconsejable aifadir unas pocas lineas mis a nuestro eédigo. Lo voy a hacer aprovechando para crear tun nuevo ejemplo, Supongamos un caso como este: sa brd= http lntidorriniaes|34-lanpara-verdel 7 r a 34 -lampare-verdes [a> a Ittp (uae mridemirta es| producto phpoid= 34 Elarehivo access que ereariamos sri 1 2 4 Activa Rewriteingine 3 Rewritetngine on 4 6 Rewritesase / RewriteCond $(SCRIP7 FILENAME) I-d RewriteCond §(SCRIPT_FILENANE) =f # Rooseribir la URL solicitada por et usuario 9 4 Entrada: 7D-NoMBRE 104 Salida: pruducto.php2id-rp Li Reweitesule *({0-3]+) \={[a-zA-Z0-8-]*)$ peoducto.php?id=s1 12 ems afladido un condicional: L 2 para comprobar que esti activado el médulo antes de hacer nada, Luego hemos afladido “RewriteBase /” que indica que el directorio base os elraiz Si fuera por ejemplo una carpeta lamada “base” harlamos “RewriteBase /base” Adem hemos atiadido dos litcas que lo que hacen cs restingr Ia re-cscritura slo a rutas que no existan previamente. Es decir, que no ‘valdra por ejemplo para ejemple.com/imagenes/logo.png. La primera linea previene ls directorios que ya existan con a bandera Hd yl segunda hace que se jgnoren ficheros que ya existan con la bandera !f Luego, en reg de reescritua, tenemos una enirada compuesta por nimeros, ego va un guid (+) y luego una cadena que puede inchir letras en maytisculas, en minisculas, nimeros y guiones (por lo que 34-lampara-verde cumplria). La salida que ya conoce nuestro e6digo PHP (aunque esto esté ocuito al usuario) es producto.php?id-SI, siendo $1 el valor que hemos atrapado entre los dos primeros paréntesis (eneste eas0, 34), Siobserviis tenemos también arapado um segundo grupo que es ([2-zA~Z0-9-}*) y que lo podriamos reeuperar con $2, eto eneste caso m0 nos sive sate (Como crear URLS amigables con Mtaccess- emenia es Lecturas Recomendadas Dahur.net: Offece una funcién muy interesante para transformar el titulo de una noticia (por ejemplo) y transformarlo (camibiando las letras con des, efes, etc) para conseguir una frase asequibk: a los buscadores y navegadores — Urls Amigables con PHP corz.org: more htaccess tips and ticks. etutplus.com: Using htaccess Files for Pretty URLS nettutplus.com: A Deeper Look ut mod_rewrite for Apache stewparkin com: Apache Re-Writes in htaccess Source Rally, Make pretty URLs with PHP and mod_rewrite AddedBytes: URL Rewriting for Beginners webmag: How To Make Dy e noupe: 10: Mod_Rewrite Rules You Should Know PHP And acces Sige a Juan en Twiter, en Google, o suserbete al RSS Feed de Emenia para estar al dia de nuestros articuos, Articulos relacionados ‘© Cémo proteger un directorio con contrasefa gracias a hlaceess Articulo anterior: « Uizando CSS3 hoy (5): @ifont- face Suseribise a los comentarios de este aticul (RS 62 Comentarios a Cémo crear URLS amigables con htaccess 1 dice enero, 2010 a las 11:35 pm Lo mismo puede hacerse con cl PATH_INFO desde php sin usar rewrite Saludos. Responder 2 dice: ‘febrero, 2010 a bs 12: eno me sale nada— active el mod_rewrite y segui exactamente como dicen pero nada mo a la pagina y me sale jObjeto no encontrado! El enlace requerido no ha sido localizado en este servidor, Siusted proporcioné el enlace de manera manual le solicitamos que por favor revise los datos intentelo de nuevo, Por favor contacte con el webmaster en caso de que usted erea que existe un error en el servidor Error 404 ocabost (02/06/10 21:53:21 Apache/2.2.11 (Win32) PHPIS,2.8 Responder “Ligbrero, 2010 a las 718 am Hob Jack, {Puodes escribir qué has escrito en htaccess para poderte ayudar? Gracias sate (Como crear URLS amigables con Mtaccess- emenia es ‘Hols: Estoy haciendo el ejemplo que muestras y cuando hago ec en Juan me leva a clientes php y mxe da NOT FOUND. Sega mi hosting tengo el mod_rewrite activado. Flarchivo htaccess lo copio tl cual tenes vos y lo coloqué dentro del directorio public_html, que es el directorio donde tengo index.php y cliates php, Tambien probe de ponerio un nivel més arriba de public_html y nada, Podias explicarme?? & oe 12 febrero, 2010 a bs 135 pm Hola Ariel, Acabo de subir cl ejemplo simplemente copiano y pegando fos archivos: 1 cess! Creo que quizas deberias revisar tu archivo -htaccess Ten en cuenta que tiene que ser un archivo de texto, sin extensin. Responder 4, dice 24 junio, 2010 a bs 19:24 am Enmiarchivo .htaccess aparece lo siguiente: RewriteCond $/ RewriteCond ©! 7 RewriteRule . /index.php (D) 1 2 3 6 El problema es que tambin tengo ura subcarpeta /puebas’ protegida con contrasefia, Eneste caso, me da la impresiin de que la condicién “!-f” interpreta que el archivo no existe y me reeseribe la URL, euando realmente no es que no exista, sino que no se puede acceder sin introducir la contrasefa, {Se te ocurre alguna manera de hacer que la regla no aplique a esa carpeta? He probado afadiendo “RewriteCond % {REQUEST_FILENAME} !.*/prucbasi.*” pero no fimciona Responder s. ive: 17 agosto, 2010 a las 10:57 pm Muy buen tutorial, muchas gracias! no solo finciona sino que aprendees a trastear tu. gracias, Responder dice: S.agosto, 2010 alas 10:58am 1 d tiddd iii b Il sate (Como crear URLS amigables con Mtaccess- emenia es Responder dice: AG ssplicmbre, 2010 aos L112 pm ola, estoy ifentando montar url amigables en una web que tiene base de datos y php. Lo que necesito es que dentro de van earpeta eneste caso lmada pas, las ur sean amigables, Tengo un index php, y otra condado,php y este es el heocess que infenigo ponet pero no cio 1 Roweizozngine on 2options Foi lowSymiinks B RewriteRule “peis/condado/(\wt)/26 pais/eondado.php?id-61 Deberia quedar: 1 netps//uww.miaitio.con/pais/condade/ {jeomp puedo comprobar sifimciona la url amigable? {Pucdo pocnr el archivo acess solo en una carpeta para que actike solo sobre esas url? En que puede fillar el cddigo que pongo. Desconozco totaknente la programacion y me resulta difeil entender lo que representa cada paso. Como vert estoy muy verde en esto y be intentado copiar tu cédigo pero siempre me sale error, Responder dice: tube, 2010 a bs 234 am Hola estimado, como seria el hiaccess sitengo el sgte nk?: index pp: {eoLéamp; cod=100" rel-"nofo: low" sd: es ‘Ya otené pero no hay e880... alarchivo index php y detales,pp lo tengo todo en kn misma carpeta/pube_funi! Muchas gracias de anterano! Responder dice 20 octubre, 2010 a bs 5:01 am lo unico que quiero cs como se crea clarchivo mas no su contenido, please ayudenme, Responder & se 201 Sam Lo puedes crear con un editor de textos tipo Notepad, por ejemplo, sit programa editor no te permite hacerlo Responder sate 11 12. (Como crear URLS amigables con Mtaccess- emenia es buenas, visu tutorial de como crear urlamigabes. implement para un proyecto de galerias de imagenes con bd. me muestra bien, pero cuando regreso al index.html no me reconoce y me muestra ls pagina de l galeria de imagenes pero sin ks fotos. este es mi codigo. 1 Rewriterngine on 2 S RewriteRule *((a-zh-20-3-)*) \-html {.*)$ detalles.php?kanp;url_categoria-s ‘me pueden ayudar en elo ? saludos. 1 RewriteRule “our _pieces.neml$ our_piecesphp (1) Responder dice A noviembre, 2010 a las 343 am Algo que no fengo todavia muy claro, ¢s que con solo modifcar el archive htaccess no es suficiente, sino que en cada pagina php tendria que modifcar los links interoos para que se redireccionen a las nuevas urls? ‘Responder & te A noviembre, 2010 a bas 7.05 am Efctivamente Javine, En el redreccionamiento del archivo htaccess pones el lnk que se recibe y hwego, digimosio as, su ‘aduceién al formato que PHP entende, Responder dice 4 diciembre, 2010 a bs 1104 pm ols Juan, seguitu tutorial y me fincioné muy bien al rear I url amigable en la bara de direciones aparece lo gue necesito (marcasicarros)pero al cargar ésta piigina se pierde foda a parte grfica que esté definida en los estos ess y s6lo aparecen textos sin _rificos ios logotipos de las marcas de autos que deberian estar, tambien desaparece fa animacién flash superior. Alregresar a index php me da error 404 url no encontrada, El e6digo de mi htacces es el siguiente: Options +FollowSymLinks RowriteEngine on RewriteCond % {HTTP_HOST} “www ofertacarro.com$ RewriteRule “2S “bitp\Wofertacarro.com” [R=301,L] RewriteRule “marcas/(\w+)/?8 buscar-marca php?tip=$1 Te agradecerfa una ayuda, Gracias de antemano Responder dice: 14 enero, 2011 as 9:39 am Hob a todas, sate CCémo crear URLS amigables con Mtaccess- emenia es Ara tengo una duda a ver sialguion me la puede resolver. Segin cl ejemplo y sino lo entiendo mal, por cada pégina que quiera que tengn una url amigable tengo que hace una entrada en el htaccess. Elprobleam es que mi pagina web tiene muliples paginas y eso es um auténtico fastidio. Alguien me puede decir si existe alguna forma de automatzar mis este proceso? Gracias y saludos, Responder 14 enero, 2011 a bs 12.24 pm Depende de la estructura de las url de tus pginas. Comp veris en elarticulo, puedes establecer un patrén que englobe todas, tus paginas, Responder dice: ALonero, 201. abs 10:18 pm Dis existe!! Gracias por tan grande aportacién, LLevo dos dias intentando hacer fincionar un htaccess para activar el mod_rewrite? y me era imposibk. He aprendido a hacerlo y me finciona, Ahora mismo me dedico a ctear personlicados, Gracias gracias Responder dice 8 febrero, 2011 as 424 am “Me parece excelente este turorial Solo una consulta situviera una uel asicomo esta 1 httpe://wmw mie. com/index.pa ag-nombredepaginase_aotD-8073-2010 Como seria fa configuracién de mi htaccess? Gracias de Antemano, por la ayuda. Saludos, ve Hol Fernando, “uando tienes dos variables puedes probar a hacer algo ast L RewriteRule *((a-zh-2: #)/ (la-ea-20-9-197 /28 index. php?pag-$26a Dentro del primer paréntesis va la expresién regular para la primera variable y en el segundo para fa segunda, de tal manera que la ul te quedara miweb.com/nombredelapagina/8073-2010 No sé sics asi come lb quicres. Responder . dice 8fb 2011 1 336 sate (Como crear URLS amigables con htaccess - emenia es Voy a hacer ls prucba. Saludos, Responder dice 17.febrero, 2011 a bs 805 poy La verdad no se que estoy haciendo mal... No me esta fncionando. Habilte el modulo en el apache estoy usando el xampp, baje unos archivos para ver sime esta fncionando el modulo mod_rewrite y efectivamente me esta fimcionando. Lo cree para la el ejemplo que puse arriba y nada. lice otra regla para otra pagina ¢ igual no me funciona /ery. Pigia siguionte: 1 hteps//Localhost /nueva pagina.prueba/subcategeria.php?eidei6ianp; ideas 2Rewritezagine on 3 Rewritetase /cueva.pagina-prusba 4 RewriteCond §{SCRZP2 FILENAME) 1a S RewriteCond ¥{SCRIPT_PIENAME} !-£ 6 RewriteRule © Z)+1/([a-2R-20-9]+) .htes /subeatagoria papteide$%sanpeideS2 (1, NC) ‘Que enfonces lo que estoy haciendo mal? Gracias. dive: Hola no tengo xampp, pero mira lo que dice este artculo sobre el uso de XAMPP mod_revite y bs URL amigables (esté en inglés pero es muy claro), No sé siseté ese el problema. Responder . dice 17 febrero, 2011 a las 0443 pm Sitodos esos pasos ya os realice, probe que fimciona con unos archivos que baje de intemet para problar la fimcionalidad del mod_rewrite y me finciono. Este ejemplo era haciendo click en un link, ok pero siyo quicro que desde que me cargue ls pagina, se vea ocukando las variables, no me esta fimcionando. ‘Lo otro es que en el menu el link esta como: 1 htep://tocalnost/nueva.pagina.prueba/subcategoria.php?cide26zamp; sid~15 debe estar asi? o en el menu yo debo de cambiar el url? Porque estuve Ieyendo en varios blog que suspuestamente con agregar el htaccess, no hay que hacer ningun cambio en ba aplicacién. Por titime la regia que definen la parte de arriba es la correcta? Muchas Gracias por Responder. 1a verdad ha sido de mucha ayuda, die: 17 febrero, 2011 a bas 959 pm sate (Como crear URLS amigables con Mtaccess- emenia es ‘cid=16. Elenlace parece quedar un poco raro, ya que pones que sea algo asi comp cidsid him sin mis? Responder . dice Zfebrero, 2011 alas 10:22 pm Ah ok ya primera parte esta mal, deberia de agregarle os mimeros, es que no estoy muy prctio. ‘Lo que quiero en realdad es ocuitar mi url real En el meni de mi aplicaciin no he realizado ningin cambio en ls link, van igual por ejemplo: subeategoria.php2eid~16&sid~45 donde el ci es el cédigo de mi categoria y el sid es el de mi subcategoria Elhtacess es solo como lo puse arriba me hace fika algo mas? ces problema es que ya coloque el archivo htacessy el url me sigue salendo-subcategoria php? cid=168sid=45 no cambia nada, 17 dice 23 febrero, 2011 a las 344 am ‘buenas tardes jack, he realizado todo deacuerdo a tu explicacin pero no sale nada, ‘me explico 1. archivo htaccess 1 # activar Re: a 2 RewriteEngine on 3 RewriteBase / 4 RewriteCond ¢(SCRIPT_PILENAME) a 5 RewriteCond $/SCRIPIOPILENAME) (= 6 84 ine a 9 Salida: negocto.php?idetd 10 RewriteRule *((0-9|1)\={(a-2R-20-9-}+)$ negoeia-php?id~st fo cologue tal cual como tu dices. en index php tengo lo siguiente 1 chref-"http://Localhost /barranqui llaofertasnegocio.php?id-"> le que se convierte en http://localhost pero este enlace me sigue salndo igual y cuando pincho en el enlace el resultado es igual ‘nuichas gracias por tu ayuda, Responder 18, dice: Amare, 2011 as 330 pm ‘Hols, vengo siempre a tu blog ya que encuentro cosas realmente interesantes y muy bien explicadas, he puesto en practica mis de un tutorial sobre wordpress y siempre con éxito, Gracias por eso! Bueno, esto te fo debia, ahora mi duda: Si yo tuviera una variable de ut del tipo. 1 if(isset($_ceri*page']) samp;camp; $_G87I*page"}=="empresa') | 3 Include (*inelude/in-empresa..php") 4 //Si no , s® comprueba e1 valor nuevanente 5 | elseif (isset ($_SET{"page"]) sampssanp: $_GET(*page"|=="contacto") include ("inelude/in-contacto-php'): sate 19. (Como crear URLS amigables con Mtaccess- emenia es para lmar a los dstitos archivos, tendria un tnico men (en oto include) que se veria asi nofellow"> Inicio Eapzesac/a> [Mi pregunta 6s, cémo hago para que ls urs se vean: dominio algo/empresay sin tener que cambiar ls links intermos, ya probé con Iacces y no To consign, inchiso probé algunos generadores htacces on ie y tampoco resulta, Seri que simplemente no se puede. Gracias por tu tempo. ° dice 4 mmaryo, 2011 a bs 4:42 pm Gracias Daniela por tus comentarios. ‘Ten en cuenta que si quieres que las urs se vean dominio.algo/empresal los links tienen que ser asi 1 Erpresac/a> o también 1 Enpresac/a> Y luego con htaccess haces la conversin a index.php)pagebome para que asilo entenda tu cédigo de php. Responder . dive: 5 2011 15pm Excelente, Mis url son amigables. Tengo una consulta, porque a partir de eso es que cuando quiero realizar un sitemap en forma automatica me repite cada carpeta com si fuera la base. por ejemplo alimentiaweb.comacerca-de-alimentia tambien pone alimentiaweb convetientes/acerca-de-alimentia CCual sera el error? Gracias Responder dice 8 marzo, 2011 a bs 8:48 pm Excelente tus comentarios, Solo descaba consularte sien mi portal al hacer click en “ver mas” de una empresa, redirecciona a Semp = “empresa_detalle,php?id"Stri)] donde id es un numero y la url seria (en el caso de una empresa determinada) cempresa_dcialle.php?id124 y deseo aparezca en vez de 124 el nombre de la empresa en este caso EFITECNICA GROUP que obo hacer? ‘Responder & te: 9 marzo, 2011 a bs 11:23 am Hola Hector, gracias por tus comentarios. Sielid va ser siompre 124 para este caso concreto simplemente seria hacer algo asi sate (Como crear URLS amigables con Ntaccess- emenia es Sil mimero del id varia no tienes mis remodio que inchitlo en a wl Responder 20. dice abr 2011 a las 8:13 pm Muy buenas Juan, estoy intentando utlzar un htaccess para mi web, pero no me fanciona con las secciones. No me da problema en la home, pero cuando intento eseribr la ude una seccin me da un 404, Fs mis sencilo que el tayo y puede que esté mal porque ke flen cosas (y yo no lo sepa) Eleédigo es este: 1 # Activar Rewritetngine 2 Rewritengine on 3 Rawritesase 4 RewriteCond $(SCRIPT FILENAME) id 5 RewriteCond 4(SCRIPT FILENAME) '~£ 6 8 Entrada 9 sallda: Index.php?secei: “108 1 RewriteRule *(\w-]/2$ index.php?seccin-$1 Una ayuaia 2 Responder & fe 13abril 2011 a bas 11 Hol Seiya, {,Qué estis poniendo en cl enlace que te Heva a ka pagina? Responder 2 dice Babril 2011 2 las 6113 pm Hola Juan, Buenisim el post. Tengo una duda, Cuando haces esto tanto la ul antigua como la neva siguen activas. Es decir que por ejemplo google detectara contenido duplicado. Se deberia por tanto sein he ledo por abi hacer un rediteccionamiento desde la ‘URL antigua hacia la nueva. Lo estoy intentando hacer pero no me sale. Lo puedo hacer desde php pero preferira hacerlo con una regla en htaccess. {Me podrias por favor echar una mano?, L options +Pollowsymbinks 2Rewritetngine on SRewritenase / 4 kewritecand REQUEST FILENAME) |—F 5 RewriteCond (REQUEST PILENAME) \-a G RewriteRule “innobiliarias-(.*)/?§ inmobiliarial ReweLtenule php (2) Sinmobiliarias-(.¢)\.php$ innobiliarias-! (1,R-301) esta Gitima Linea es la que no me Gracias de antemano Responder dice: abril 2011 a las 622 pm Gracias Jose, sate (Como crear URLS amigables con Mtaccess- emenia es Responder . dice: ABabrl 2011 a hs 632. pm Por supuesto: Lheep://xww.miveb.com/innobiliarias-espana.php Att: (wos. iweb.con/innobiliarias-espanz Gracias Responder . dice 13 abril 2011 a bs 634 pm Es decir, l reales k acabada en php como es Kigico y la otra Ia aigable. Muchas gracias por responder. & dive: Hola Jose, Lo tienes al revés en el htaccess. Ten en cuenta que ala izquierda va la amigable y ala derecha la real. La Saludos! Responder ive 29 septiombre, 2011 alas 9093 am Hola juan, mira mi problema es que mediante una variable en un embed recojo una ul pero sicoloco esa url en la barra hace descarga directa desde mi host de pruevas podria denegar cualquier descarga desde el htaccess pero que en el embed reproduciera elarchivo... gracias, Responder dice S octubre, 2011 a bs 11:04 pm. Hol, recien me estoy intruyendo en esto del trabajo con laccess... me gustaria saber sime puedes hechar luz lo siguiente: ‘Tengo una web con la siguientes urls L https //xwe.pagina.con/productos/nonbre-del-produ: 2 htep://awe pagina .con/prod: a11/9/0/0/ 10/0/66 /nonbre-cei-producto.atmL La cuestion es que me gustaria cambiar por lo siguiente L http: / /awe.pagina.con/praductos/nonbre-del-producto/ 2 http: //aww. pagina .con/preducto/nonbre-del-producto. html Como deberia escribir esto dentro del Ltacess Hay alguna forma de probar esto ante... por ejemplo trabajando de forma loca. Muchas gracias. Martin, Responder dive: ‘octubre, 2011 a bs 718 am Hola Martin, Sino tenes ningin pardmetro que pasar en el GET puedes hacer un simple redieceionamiento 301 del tipo: Lredizect S01 /productos/nonbre-del-producto/al1/9/0/0/ http://www. pag Silos nimeras de la primera URL son parimetros necesaries, tienen que aparccer de alguna manera cn a segunda wl para podérselos pasar a tu cédigo, Responder & .. Muy muy my buen artculo Me aclaré un montn de dudas y aprendi muchas otras cosas que desconocia ‘Tambien esti explicado sate (Como crear URLS amigables con Mtaccess- emenia es ‘Tengo tma web con i siguiente urt hin /unwwvch com/nagename=tus-starsieichamid El btacces que he creado (solo pongo la parte que he ereado yo, lo dems viene de WordPress) es la siguiente: LReweiteRule “tue-etare/((0-9))) pagename-tue-starssanp) fich: a Pero no me funciona, alguna sugerencia al respecto ? Gracias 1 Responder 20. dice 28 octubre, 2011 a bs 3:48 pm Hola a todos... abserven la url g bota mi web: 1 *nctp://deportivotachiza.con.ve/2012/ full .php?subaction-showful1sanp;id-1317910374samp;archive-samp; ‘mi progunta es ;como debo modificar el htacoes.. quiero q me quede algo asi? nete://deportivetachiza.com.ve/2012/titule-de-ri-neticia" ‘otra cosa. este es miacoes: Rewritenngine on RewriteCond ‘(HIP HOST} “deportivetachiza.com.ves [OR] RowritaCond §(BTTP HOST} “deportivotachira.com.ves RewriteRule */25 *hotp\:\/\/uww\ departivetachira\ .com.ve" (Re301,L) RewriteCond ‘iKP Host} “deportivetachira.net$ [08] RewriteCond (HTTP_HOST) “ww.deportivecachira.not$ 9 RewriteRule */25 "ietp\:\/\/www\ deportivotachira\.com.ve" (R301, Li 10 1) RewriteCond \(HI=P Host} *deportivetachira.com.veS (OR) 12 RewriteCond s(HI=P HOST) *www.daportivorachira.con.ves 13 RewriteRule */2§ “hetp\:\/\/depertivotachira\.com.ve\/index\.php™ [R°3} AYUDA POR FAVORRR- se los agradecere mil veces mil... & we 28 octubre, 2011 a ls 4:02 pm Hola Gabi, He eliminado tu enlce con inf de tu configuaciin de php porque puede ser inseguro para ti {Un URL comp el que quieres le vas a tener que hacer por PHP. Mediante htaccess tienes que pasar ls valores de las dos ‘variables (siempre y cuando estas sean necesarias), que son “subaction” e “id”, tal y como ves en los ejemplos del articul, Responder 28, Pingback: URL'S AMIGABLES CON HTACCESS 29 di sate 30, 31 (Como crear URLS amigables con Ntaccess- emenia es Funciona perftctamente, pero me surge un probkem. Siyo mismo escribo un enlace del tipo: 3:25: //nixe>,.com/no-exsece, en higar de mandarme al index.php como hac antes, me salen los mensajes de Wamingno such file etc. “Mipregunta es, ene caso de que no exist a pigin en un director determinado, en este caso miweb.compagesi, ise puede ‘mandar al usuario al index.php o a la pica pagina de error o habria que hacerlo en php en pages.php? Fl contenido de mi pages.php (cl que saca ura péigina w ora) es: Responder dice: 2 0 as Lif (!isset($_cErttpage"I)) ( 2 inciude (*pages/nome. Php): 3) else 4 Inetude ("pages/*.$_ G#7("page")."-phe"): 5) Le be afadido 1 error_reporting (0); para que no salgan ls warning, pero lo que me inferesa es que cuando salga un Warning, me envie a una pdgina determinada o bien redinia a 404, Gracias Responder dice 29 noviembre, 2011 a bs 1.07 pm Juan, genial aporte una vez mis! ‘Aun asi me ha surgilo un problema con mi blaccess. Tengo un directorio en mi web llamado “ss” (cuyo fichero iivial es un index php) y, con el siguiente codigo -hlaccess, no me deja acceder, Debe ser porque supone que es uno de los mens de Ia web po un directorio Loptions +Pollowsymlinks 2Rewritoengine On 5 {RewriteRule *(\wi)/28 index.pap?menu-$1 Ademis, con -htaccess, habia protegido cl directorio “ss” con contrasefi 1 authName "es: 2avenuserFile 3 AuthType Bas {require valld-user shepasswa" {jHabria alguna manera de poder tener ambos e6digos en el mismo .hlaccess y que no enirasen en confcto? Quiz con alguna ‘condiciin previa... no sé muy bien. Espero wuestra ayuda! Saludos! Responder ° dive: sate (Como crear URLS amigables con Ntaccess- emenia es Sino te deberia dar problemas Responder . dice: 1 2011 si Gracias por responder Juan. Pues aun asi, cuando accedo a itp: Hw. dominio.comvss, me intenta ler el menu rss de una de mis pias web (como sifinse 2 empresa, quenes-somos, sencos...) yno a a carpeta rss (dénde dento hay un archivo index php ‘que es el que habria de leer tas que el usuario ponga user y pas). Sabes a que puede ser debido? Muchas gracis Respond 32, dice Sidiviembre, 2011 0 47am Gracias maestro!!! Sos un genio la verdad... no solo me salo esto en 15 minutos, sino que aprendibastante de como manejar los htaccess, me sirvié completamente para lo que lo necesita Mill gracias! Saludos desde Argentina “* Responder 33, dice: diciembre, 2011 a as 10:00 am ‘que tal, yo tengo una duda al usar dos o mas reglas tengo fo siguiente: Loptions ‘Pollowsymbinks 2Rewritetngine on 3 4 RewriteCond §{REQUEST_PILENAME) 5 RowsiteCond <(RSQUEST_ FILENAME) & Rewrstesule 7(.*)/(.*)\.heml$ index php2e-$1éampiid-$2 (L) 7 RowrsteRsle *(.*)/pag_(.*) \.nenld index.php?e-Sisampractyal-32(h] se supone que al poner L, buscaria el que mus se parezc, pero amino me fnciona, la segunda regs parecera que I ignore, ayideme por fivor Responder Deja un comentario ‘Tu direccién de correo electrénico no seri publicada. Los campos necesarios estin marcados * Nombre* Como electrinico * Web sate (Como crear URLS amigables con Mtaccess- emenia es Comentario 4 Puedes usar las siguientes etiquetas y atrbutos HTML: >

You might also like