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

construir expresiones en el httaccess

Estas en el tema de construir expresiones en el httaccess en el foro de Apache en Foros del Web. hola espero puedan ayudarme con algunos cambios que deseo hacer a mi httacces verán, en mi index tengo varios links a archivos en subcarpetas los ...
  #1 (permalink)  
Antiguo 27/03/2012, 14:40
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 14 años, 7 meses
Puntos: 23
construir expresiones en el httaccess

hola espero puedan ayudarme con algunos cambios que deseo hacer a mi httacces

verán, en mi index tengo varios links a archivos en subcarpetas

los link son asi:

Código HTML:
<!--ruta real www.misitio.com/noticias/ver_noticia?id_noticia=3 por ejemplo-->
<a href="http://www.misitio.com/noticias/ver_noticia/<?php echo urls_amigables($url) ?>-<?php echo $id_noticia ?>.html"><?php echo $titulo_nt; ?></a>
<!--ruta real www.misitio.com/columnas/ver_articulo?id_articulo=3-->
<a href="http://www.misitio.com/columnas/ver_articulo/<?php echo urls_amigables($url) ?>-<?php echo $id_articulo ?>.html"><?php echo $tit_art ?></a>
<!--ruta real www.misitio.com/opiniones/ver_opinion?id_opinion=3-->
<a href="http://www.misitio.com/opiniones/ver_opinion/<?php echo urls_amigables($url) ?>-<?php echo $id_opinion ?>.html"><?php echo $titulo_op; ?></a>
<!--ruta real www.misitio.com/sugerencias/ver_suggest?id_suggest=3-->
<a href="http://www.misitio.com/sugerencias/ver_suggest/<?php echo urls_amigables($url) ?>-<?php echo $id_suggest ?>.html"><?php echo $titulo_sg; ?></a>
//entre otras
como verán todas llevan el mismo formato, las urls que resultan son de esta forma:

http: //www. misitio. com/noticias/ver_noticia/se-agrava-contaminacion-de-mantos-acuiferos-en-tihuatlan-1. html

lo recibo bien, pero me gustario poder quitar en todas ver_loquesea

ya trate de hacer el httaccess pero me manda al 404, este mi httaccess

Código:
# Agregamos está línea para evitar que se puedan explorar los directorios del
# servidor, en especial si la ubicación física de los archivos se encuentra
# dentro de la estructura del Sitio Web.
Options All -Indexes

# Activar RewriteEngine
Options +FollowSymLinks
RewriteEngine On

RewriteBase /

#Si la url solicitada no es un fichero(existente), continuar... 
RewriteCond %{REQUEST_FILENAME} !-d

#Si la url solicitada no es una carpeta(existente), continuar...
RewriteCond %{REQUEST_FILENAME} !-f

Rewriterule ^ver_noticia/(.*?)-([0-9]+)\.html$ 		/noticias/ver_noticia.php?id_noticia=$2&title=$1 [L]
Rewriterule ^ver_opinion/(.*?)-([0-9]+)\.html$ 		/opiniones/ver_opinion.php?id_opinion=$2&title=$1 [L]
Rewriterule ^ver_sugerencia/(.*?)-([0-9]+)\.html$ 	/sugerencias/ver_suggest.php?id_suggest=$2&title=$1 [L]
Rewriterule ^ver_evento/(.*?)-([0-9]+)\.html$ 		/sociales/ver_evento.php?id_evento=$2&title=$1 [L]
Rewriterule ^ver_articulo/(.*?)-([0-9]+)\.html$ 	/columnas/ver_articulo.php?id_articulo=$2&title=$1 [L]
trate con

^(.*?)/(.*?)-([0-9]+)\.html$

pero como sabria a donde redirigir, entonces

hice

^noticias/(.*?)-([0-9]+)\.html$
^opiniones/(.*?)-([0-9]+)\.html$

poniendo en los enlaces

<a href='http://www.misitio.com/noticias/<?php echo urls_amigables($url) ?>-<?php echo $id_noticia ?>.html'><?php echo $titulo_nt; ?></a>

<a href='http://www.misitio.com/opiniones/<?php echo urls_amigables($url) ?>-<?php echo $id_opinion ?>.html'><?php echo $titulo_op; ?></a>

esperando tener como resultado algo asi:

http: //www. misitio. com/noticias/se-agrava-contaminacion-de-mantos-acuiferos-en-tihuatlan-1. html

pero me manda al 404

que es lo que debo corregir?? gracias
  #2 (permalink)  
Antiguo 29/03/2012, 19:15
Avatar de orochies  
Fecha de Ingreso: septiembre-2003
Ubicación: Guatemala
Mensajes: 260
Antigüedad: 21 años, 3 meses
Puntos: 2
Respuesta: construir expresiones en el httaccess

Valla yo estoy en las mismas llevo toda la tarde probando y nada de nada por eso vine para aca enseguida.

Lo mi es:

Código:
dominio.com/deportes/algo/index.htm

a

dominio.com/deportes/algo.htm
Decir que algo es una palabra dinamica que lleva [a-z] y [0-9] y el guion _ caracteres y que es dinamica bien podria ser:

Código:
dominio.com/deportes/motos_2012/index.html
Lo unico que he logrado es:

Código:
dominio.com/deportes/index.html

a

dominio.com/deportes.html
con este codigo:

Código:
RewriteRule ^/deportes/(\w+)/index.htm$ http://dominio.com/deportes/$1.html [R=301,NC]
No se porque no me funciona el otro si lo hago con:

Código:
RewriteRule ^/deportes/(\w+)/(\w+)/index.htm$ http://dominio.com/deportes/$1/$2.html [R=301,NC]
El codigo completo de mi archivo .htaccess es:

Código:
Options +FollowSymLinks +ExecCGI

<IfModule mod_rewrite.c>
  RewriteEngine On

  RewriteRule ^$ index.html [QSA]
  RewriteRule ^([^.]+)$ $1.html [QSA]
  RewriteCond %{REQUEST_FILENAME} !-f

  RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>

RewriteRule ^/deportes/(\w+)/index.htm$ http://dominio.com/deportes/$1.html [R=301,NC]

RewriteRule ^/deportes/(\w+)/(\w+)/index.htm$ http://dominio.com/deportes/$1/$2.html [R=301,NC]
Alguien que nos ayude porfavor gracias.

_Saludos...
__________________
QMD...
  #3 (permalink)  
Antiguo 30/03/2012, 10:28
Avatar de charlyalegret  
Fecha de Ingreso: septiembre-2011
Ubicación: Barcelona
Mensajes: 705
Antigüedad: 13 años, 2 meses
Puntos: 140
Respuesta: construir expresiones en el httaccess

$catpaw, tu problema:

Si quieres eliminar "ver_noticia", por qué lo mantienes en el htaccess ????

No deberías haber puesto:

Rewriterule ^noticia/(.*?)-([0-9]+)\.html$ etcéteraectetc

en lugar de

Rewriterule ^ver_noticia/(.*?)-([0-9]+)\.html$ etcéteraectetc
??

Saludos

Etiquetas: htaccess
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 20:33.