Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   SEO (http://www.forosdelweb.com/f64/)
-   -   mod rewrite configuracion extra (http://www.forosdelweb.com/f64/mod-rewrite-configuracion-extra-561360/)

MEGAESTRELLA 28/02/2008 04:36

mod rewrite configuracion extra
 
Hola me llamo Jesús y soy nuevo en este foro, es la primera vez que me animo a postear, espero que mi primera duda no sea demasiado difícil de contestar jejej, la primera vez que escribo y va a ser un medio pergamino xD
Yendo al grano os expongo mi problema y os pongo los archivos que estoy usando, uso un CMS dinámico que se llama door108, os recomiendo que lo probeis ya que es buenisimo en mi opinión door108 .com.ar

Aqui os pongo el htacces que uso. ( os pongo solo las partes del htacces que quiero conseguir el efecto que explicare a continuacion
[QUOTE]RewriteEngine On

RewriteRule home.html noticias.php [L]
RewriteRule index.html noticias.php [L]
RewriteRule index.htm noticias.php [L]
RewriteRule default.html noticias.php [L]
RewriteRule default.htm noticias.php [L]

RewriteBase /comunidad/

# ==============================================
# PAGE.PHP =====================================
RewriteRule p.html pagina.php [L]
RewriteRule p([0-9]*)\.html(.*)$ pagina.php?$1 [L]

# =============================================
# CONTACT.PHP =================================
RewriteRule contacto.html contacto.php [L]

# =============================================
# CONTENIDO EXTENSION ==============================
RewriteRule contenido.html v4/contenido/contenido.php [L]
RewriteRule contenido([0-9]*)\.html(.*)$ v4/contenido/contenido.php?contenido.$1 [L]
RewriteRule contenido-([0-9]*)\.html(.*)$ v4/contenido/contenido.php?recent.$1 [L]

# =============================================
# PAGE.PHP ====================================
RewriteRule pagina/$ pagina.php [L]
RewriteRule pagina/([0-9]+)/$ pagina.php?$1 [L]

# =============================================
# FORO EXTENSION ================================
RewriteRule foros.html v4/foro/foro.php [L]
RewriteRule foro([0-9]*)\.html(.*)$ v4/foro/foro_verforo.php?$1 [L]
RewriteRule foro([0-9]*)-([0-9]*)\.html(.*)$ v4/foro/foro_verforo.php?$1.$2 [L]
RewriteRule foro-t([0-9]*)\.html(.*)$ v4/foro/foro_vertopico.php?$1 [L]
RewriteRule foro-t([0-9]*)-([0-9]*)\.html(.*)$ v4/foro/foro_vertopico.php?$1.$2 [L]
RewriteRule foro-t([0-9]*)-([0-9]*)-next\.html(.*)$ v4/foro/foro_vertopico.php?$1.$2.next [L]
RewriteRule foro-t([0-9]*)-([0-9]*)-prev\.html(.*)$ v4/foro/foro_vertopico.php?$1.$2.prev [L]
RewriteRule foro-t([0-9]*)-last\.html(.*)$ v4/foro/foro_vertopico.php?$1.last [L]
RewriteRule foro-t([0-9]*)-([0-9]*)-track\.html(.*)$ v4/foro/foro_vertopico.php?$1.$2.track [L]
RewriteRule foro-t([0-9]*)-([0-9]*)-untrack\.html(.*)$ v4/foro/foro_vertopico.php?$1.$2.untrack [L]
RewriteRule foro-r([0-9]*)\.html(.*)$ v4/foro/foro_publicar.php?rp.$1 [L]
RewriteRule foro-p([0-9]*)\.html(.*)$ v4/foro/foro_publicar.php?nt.$1 [L]
RewriteRule foro-e([0-9]*)\.html(.*)$ v4/foro/foro_publicar.php?edit.$1 [L]
RewriteRule foro-t([0-9]*)-post\.html(.*)$ v4/foro/foro_vertopico.php?$1.post [L]
RewriteRule foro-q([0-9]*)\.html(.*)$ v4/foro/foro_publicar.php?quote.$1 [L]
RewriteRule top-poster-([0-9]*)-([0-9]*)\.html(.*)$ top.php?$1.top.foro.$2 [L]
RewriteRule top-active([0-9]*)\.html(.*)$ top.php?$1.active [L]
RewriteRule top-active-([0-9]*)-([0-9]*)\.html(.*)$ top.php?$1.active.foro.$2 [L]

Aquí el plugin que hace cambiar las urls en todo el sistema

Código PHP:

<?php

$invalidar
->invalidar_funcion('mostrartabla''mi_mostrartabla'1);

        function 
mi_mostrartabla($subtitulo$texto) {

$patterns[0] = '/v4\/foro\/foro_verforo\.php\?([0-9]+)\.([0-9]+)/';
$replacements[0] = 'foro$1-$2.html';

$patterns[1] = '/v4\/foro\/foro_verforo\.php\?([0-9]+)/';
$replacements[1] = 'foro$1.html';

$patterns[2] = '/v4\/foro\/foro_vertopico\.php\?([0-9]+)\.([0-9]+)\.next/';
$replacements[2] = 'foro-t$1-$2-next.html';

$patterns[3] = '/v4\/foro\/foro_vertopico\.php\?([0-9]+)\.([0-9]+)\.prev/';
$replacements[3] = 'foro-t$1-$2-prev.html';

$patterns[4] = '/v4\/foro\/foro_vertopico\.php\?([0-9]+)\.([0-9]+)\.track/';
$replacements[4] = 'foro-t$1-$2-track.html';

$patterns[5] = '/v4\/foro\/foro_vertopico\.php\?([0-9]+)\.([0-9]+)\.untrack/';
$replacements[5] = 'foro-t$1-$2-untrack.html';

$patterns[6] = '/v4\/foro\/foro_vertopico\.php\?([0-9]+)\.last/';
$replacements[6] = 'foro-t$1-last.html';

$patterns[7] = '/v4\/foro\/foro_vertopico\.php\?([0-9]+)\.post/';
$replacements[7] = 'foro-t$1-post.html';

$patterns[8] = '/v4\/foro\/foro_vertopico\.php\?([0-9]+)\.([0-9]+)/';
$replacements[8] = 'foro-t$1-$2.html';

$patterns[9] = '/v4\/foro\/foro_vertopico\.php\?([0-9]+)\.([0-9]+)/';
$replacements[9] = 'foro-t$1-$2.html';

$patterns[10] = '/v4\/foro\/foro_vertopico\.php\?([0-9]+)/';
$replacements[10] = 'foro-t$1.html';

$patterns[11] = '/v4\/foro\/foro\.php/';
$replacements[11] = 'foro.html';

$patterns[12] = '/descarga\.php\?list\.([0-9]+)/';
$replacements[12] = 'descarga$1.html';

$patterns[13] = '/descarga\.php\?ver\.([0-9]+)/';
$replacements[13] = 'descargas$1.html';

$patterns[14] = '/v4\/contenido\/contenido.php\?contenido\.([0-9]+)/';
$replacements[14] = 'contenido$1.html';

$patterns[15] = '/v4\/contenido\/contenido.php\?recent\.([0-9]+)/';
$replacements[15] = 'contenido-$1.html';

$patterns[16] = '/enlaces\.php\?cat.([0-9]+)/';
$replacements[16] = 'enlaces-$1.html';

$patterns[17] = '/v4\/pagina_enlaces\/enlaces\.php\?view.([0-9]+)/';
$replacements[17] = 'enlaces$1.html';

$patterns[18] = '/v4\/log\/estadisticas\.php\?([0-9]+)/';
$replacements[18] = 'estadisticas$1.html';

$patterns[19] = '/pagina\.php\?([0-9]+)/';
$replacements[19] = 'p$1.html';

$patterns[20] = '/v4\/foro\/foro_publicar.php\?rp\.([0-9]+)/';
$replacements[20] = 'foro-r$1.html';

$patterns[21] = '/v4\/foro\/foro_publicar.php\?nt\.([0-9]+)/';
$replacements[21] = 'foro-p$1.html';

$patterns[22] = '/v4\/foro\/foro_publicar.php\?edit\.([0-9]+)/';
$replacements[22] = 'foro-e$1.html';

$patterns[23] = '/v4\/foro\/foro_publicar.php\?cita\.([0-9]+)/';
$replacements[23] = 'foro-q$1.html';

$patterns[24] = '/v4\/foro_publicar.php\?edit\.([0-9]+)/';
$replacements[24] = 'foro-e$1.html';

$patterns[25] = '/v4\/guestbook\/index\.php/';
$replacements[25] = 'guestbook.html';

$patterns[26] = '/noticias\.php\?([0-9]+)\.([0-9]+)\.([0-9]+)/';
$replacements[26] = 'noticias$1-$2-$3.html';

$patterns[27] = '/noticias\.php\?([0-9]+)\.([0-9]+)/';
$replacements[27] = 'noticias$1-$2.html';

$patterns[28] = '/noticias\.php\?item\.([0-9]+)\.([0-9]+)/';
$replacements[28] = 'noticias-i$1-$2.html';

$patterns[29] = '/noticias\.php\?extend\.([0-9]+)/';
$replacements[29] = 'noticias$1.html';

$patterns[30] = '/noticias\.php\?cat\.([0-9]+)\.([0-9]+)/';
$replacements[30] = 'noticias-c$1-$2.html';

$patterns[31] = '/noticias\.php\?cat\.([0-9]+)/';
$replacements[31] = 'noticias-c$1.html';

$patterns[32] = '/usuario\.php\?id\.([0-9]+)/';
$replacements[32] = 'usuario$1.html';

$patterns[33] = '/peticion\.php\?([0-9]+)/';
$replacements[33] = 'peticion$1.html';

$patterns[34] = '/comentario\.php\?comentario\.noticias\.([0-9]+)/';
$replacements[34] = 'comentario-n$1.html';

$patterns[35] = '/comentario\.php\?reply\.noticias\.([0-9]+)\.([0-9]+)/';
$replacements[35] = 'reply-n$1-$2.html';

$patterns[36] = '/comentario\.php\?reply\.descarga\.([0-9]+)\.([0-9]+)/';
$replacements[36] = 'reply-d$1-$2.html';

$patterns[37] = '/top\.php\?([0-9]+)\.top\.foro\.([0-9]+)/';
$replacements[37] = 'top-poster-$1-$2.html';

$patterns[38] = '/top\.php\?([0-9]+)\.active\.foro\.([0-9]+)/';
$replacements[38] = 'active-posts-$1-$2.html';

$patterns[39] = '/top\.php\?([0-9]+)\.active/';
$replacements[39] = 'top-active$1.html';

$patterns[40] = '/v4\/mp\/mp\.php\?send\.([0-9]+)/';
$replacements[40] = 'mp$1.html';

$texto preg_replace($patterns$replacements$texto);

$return = array();
$return["subtitulo"] = $subtitulo;
$return["texto"] = $texto;
        return 
$return;
    }
        
?>

bien quiero conseguir que cuando genera las direcciones como foro-t34664.html se viera como nombre_de_miforo/ y en las respuestas de mi foro salieran asi:
nombre_de_miforo/nombre_de_respuesta.html ( por cierto que seria mejor para la indexacion, nombre_de_miforo/nombre_de_respuesta.html asi? o nombre_de_miforo/nombre_de_respuesta/ asi? )
Quiero conseguir este efecto en los foros y en la creación de paginas personalizadas, en mi sistema cms le e cambiado el nombreesimplemente por una tontería de querer que me indexara google ciertas cosas así que el código esta un pelin modificado pero solo en el nombre.

espero vuestra respuesta y que podais ayudarme, gracias :-)

MEGAESTRELLA 29/02/2008 06:14

Re: mod rewrite configuracion extra
 
veo que aun no a contestado nadie, intentare simplificarlo a ver si me puedo explicar mejor a ver si alguien puede hecharme una manita

Se trata de conseguir el siguiente efecto:

mipagina.com/pagina.php?25 se transforme en mipagina.com/pagina/titulo ( titulo seria el titulo que genero la pagina, es decer que detectase de alguna manera la etiqueta title de la pagina que sea generado automaticamente)

El segundo efecto es conseguir en los foros de mi web el mismo efecto que se consigue actualmente en esta misma web.

A ver si me podeis hechar una manita por favor, saludos

MEGAESTRELLA 04/03/2008 12:37

Re: mod rewrite configuracion extra
 
por favor nadie puede ayudarme? estaria dispuesto a pagar por ello si consigo con ello realizar mi proyecto, a ver si sale alguna ayudita por favor

dr. attach 05/03/2008 09:57

Re: mod rewrite configuracion extra
 
Hola, no lo va a jalar del title, tienes que ponerlo dentro de las variables y luego jalarlo. Lo otro para evitar el número, tienes que en tu BD crear otro índice, que ya no sea por número, sino por el texto -y tienes que tener en cuenta que los textos no se repitan-

La lógica es lo que te he dicho, el código y cómo generar esto ya es otro tema el cual no domino bien, pero es así como se debe hacer :-)

MEGAESTRELLA 05/03/2008 12:33

Re: mod rewrite configuracion extra
 
muchisimas gracias por la respuesta, la verdad es que estoy un poco pez, para hacer lo que dices va mas aya de una configuracion normal del rewrite, si alguien me quiere hechar una mano para configurar el portal para marearme menos la cabeza le doy mi msn xD

Pero si ago lo que me comentas en la base de datos seguira respetando la id? es decir no eliminara las id? o tendrian que ser eliminadas?

lagardel 05/03/2008 16:57

Re: mod rewrite configuracion extra
 
no lo entiendo muy bien, pero creo que tu htacces es demasiado grande y de dudosa efectividad, optimizar el formulario de contacto o el top poster o top tal lo considero inoportuno, teniendo en cuenta que es un archivo que se ejecuta demasiadas veces puedes petar el servidor.

tambien si nos dieras mas informacion sobre la variable del titulo del foro o post etc, creo entender que el $1 del codigo del plugin es el id del foro o del post pues con que cambies eso para que mande el titulo del foro o post mas su id separado por alguna cadena que puedas capturar luego para separar titulo de id, luego solo tendras que volver ese titulo que previamente habras tenido que eliminar los espacios por -, a su estado original y mostrarlo con un echo en el titulo de la pagina.

MEGAESTRELLA 05/03/2008 19:45

Re: mod rewrite configuracion extra
 
efectivamente yo tambien veo cosas inecesarias y que ademas realmente no quiero posicionar como bien as citado refiriendote a contacto.php

Para mi las tres cosas que quiero posicionar bien son las siguientes:
Foro, descargas y paginas

Tambien quiero posicionar una galeria de imagenes pero eso ya lo comentare mas adelante.

$1 es la id del foro es decir foro.php?123 por ejemplo y mi intencion seria que se mostrase como foro/mensaje_del_usuario e intentado utilizar varios valores distintos y no doy con la clave aun, si quereis os pongo los archivos de mi foro o sus codigos para que los veais como funcionan

dr. attach 07/03/2008 09:26

Re: mod rewrite configuracion extra
 
Con la id no pasa nada, simplemente en lugar de usar un id para indicar que debe mostrar utilizas otro tipo de índice.

MEGAESTRELLA 07/03/2008 14:19

Re: mod rewrite configuracion extra
 
entiendo ya mas o menos pero por ejemplo si tengo tablas con identificacion loquesea_id o loquesea_nombre si me pulo todos los ids del sistema evidentemente me lo cargo jeje, tendria que hacer un href en los archivos que toque segun estoy entendiendo y despues poner el rewrite que le corresponta en el htacces.

Eso creo entender, no habria otra manera que desde el mismo htacces pueda ser dinamico verdad? siempre es asi de estatico cierto?

MEGAESTRELLA 24/03/2008 11:31

Re: mod rewrite configuracion extra
 
Al final consegui utilizar lo que queria en los foros, simplemente contesto en este nuevo post para hacer una pregunta simple, el htacces que os enseño a continuacion resulta un htacces pesado que pueda ralentizar en algo mi pagina web?

RewriteEngine On

RewriteRule home.html noticias.php [L]
RewriteRule index.html noricias.php [L]
RewriteRule index.htm noticias.php [L]
RewriteRule default.html noticias.php [L]
RewriteRule default.htm noticias.php [L]

RewriteBase /


# =============================================
# FORO EXTENSION ================================
RewriteRule foro.html anime/foro/foro.php [L]
RewriteRule ^anime-f([0-9]*)/(.*) /anime/foro/foro_verforo.php?$1 [L,NC]
RewriteRule ^anime_f([0-9]*)/(.*) /anime/foro/foro_vertopico.php?$1 [L,NC]
RewriteRule anime-f([0-9]*)-([0-9]*)\/(.*)$ anime/foro/foro_vertopico.php?$1.$2 [L]
RewriteRule anime/f([0-9]*)-([0-9]*)\/(.*)$ anime/foro/foro_verforo.php?$1.$2 [L]
RewriteRule ([0-9]*)-last\/(.*)$ anime/foro/foro_vertopico.php?$1.last [L]
RewriteRule foro-r([0-9]*)\.html(.*)$ anime/foro/foro_publicar.php?rp.$1 [L,NC]
RewriteRule foro-p([0-9]*)\.html(.*)$ anime/foro/foro_publicar.php?nt.$1 [L,NC]
RewriteRule foro-e([0-9]*)\.html(.*)$ anime/foro/foro_publicar.php?edit.$1 [L,NC]
RewriteRule foro-q([0-9]*)\.html(.*)$ anime/foro/foro_publicar.php?quote.$1 [L,NC]
RewriteRule top-poster-([0-9]*)-([0-9]*)\.html(.*)$ top.php?$1.top.foro.$2 [L,NC]
RewriteRule top-active([0-9]*)\.html(.*)$ top.php?$1.active [L,NC]
RewriteRule top-active-([0-9]*)-([0-9]*)\.html(.*)$ top.php?$1.active.foro.$2 [L,NC]


#==============================================
# USUARIO.PHP ====================================
RewriteRule usuario.html usuario.php [L]
RewriteRule usuario([0-9]*)\.html(.*)$ usuario.php?id.$1 [L]


La zona horaria es GMT -6. Ahora son las 00:15.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.