¿Acortar url?

Iniciado por Anonymatrix, 1 Marzo 2017, 22:17 PM

0 Miembros y 1 Visitante están viendo este tema.

Anonymatrix

Hola, qué tal, alguien me ayuda porfa? grx =)


Se puede transformar esto

http://mi-web.com/carpeta/pepito

a

http://mi-web.com/pepito

?

Prefiero que la gente escriba la segunda url para acceder al sitio, porque es más corta.

Pero manteniendo la ruta real de mi archivo pepito.php (primera url).
ola k ase

dato000

Cita de: Anonymatrix en  1 Marzo 2017, 22:17 PM
Hola, qué tal, alguien me ayuda porfa? grx =)


Se puede transformar esto

http://mi-web.com/carpeta/pepito

a

http://mi-web.com/pepito

?

Prefiero que la gente escriba la segunda url para acceder al sitio, porque es más corta.

Pero manteniendo la ruta real de mi archivo pepito.php (primera url).

Depende de como estes montando la página, pero básicamente, cualquier servidor te permite realizar eso, en .NET yo hago eso mediante código javascript o IIS, o en raras ocasiones por código fuente directo compilado.

En apache puede configurarse el archivo para usar virtualhost que usen determinadas url para ciertos enlaces o dominios en general. Esto aplica básicamente a cualquier sitio web montado en php.

También si se usa un CMS como joomla, puede usarse ese tipo de enmascaramiento para conveniencia del administrador o facilidad de acceso para clientes, o para seo, o para analytics, drupal también ofrece esa configuración.

Un poderoso CMS como sitefinity permite habilitar multiples urls para resolver esas cuestiones, pero, al ser de pago, y no es barato, pues yo lo sugeriria para opción comercial.

IIS como mencionaba antes también permite hacer eso, haciendo uso de muchas opciones, es excelente para ese tipo de cosas como resolver dominios o habilitar multiples urls, pero hay que configurar bastantes archivos para que quede bien organizado.

Linux también ofrece ese tipo de cosas, aunque pues depende de la plataforma web sobre la este montada. Solo conozco webmin (sin tener en cuenta apache, pues es multiplataforma) y funciona bastante bien, aunque hay que tener cuidado con los DNS, y las ips dinamicas del sitio.

En resumen, hay varias formas, depende más de lo que se use y explorar las opciones.



Anonymatrix

#2
Mis archivos están en la carpeta miembros.

Ejemplo:

http://mi-web.com/miembros/Manolo_El_de_la_Fanta

Y quiero quitar el texto 'miembros/' de la url.

Para que quede así:

http://mi-web.com/Manolo_El_de_la_Fanta


Probé a utilizar el siguiente código en .htaccess:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^miembros/(.+)$ http://mi-web.com/$1 [R=301,L]
</IfModule>


Pero lo que hace no es quitar el texto, sino redireccionar, y claro, mis archivos están en 'miembros/', no en la raíz web.

Y si redireccionas de

http://mi-web.com/miembros/Manolo_El_de_la_Fanta

a

http://mi-web.com/Manolo_El_de_la_Fanta

Te da error porque no existe ningún archivo con ese nombre en esa ruta.
ola k ase

engel lex

lo redireccionas al index y en el index lees $_SERVER["REQUEST_URI"] para obtener el parametro pasado
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Anonymatrix

Cita de: engel lex en  9 Marzo 2017, 21:27 PM
lo redireccionas al index y en el index lees $_SERVER["REQUEST_URI"] para obtener el parametro pasado

Pero se veria

http://mi-web/index?Manolo_El_de_la_Fanta

o

http://mi-web/index?m=Manolo_El_de_la_Fanta

Y yo quiero que se vea así:

http://mi-web/Manolo_El_de_la_Fanta
ola k ase

#!drvy

#5
CitarProbé a utilizar el siguiente código en .htaccess:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^miembros/(.+)$ http://mi-web.com/$1 [R=301,L]
</IfModule>

Quita el R=301 y pon QSA para pasar los parámetros. También deberías asegúrate de que no es un archivo o una carpeta. Luego simplemente cambia el orden.

Código (apache) [Seleccionar]

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ miembros/$1 [L,QSA]
</IfModule>


Saludos

Anonymatrix

#6
Cita de: #!drvy en  9 Marzo 2017, 23:59 PM
Quita el R=301 y pon QSA para pasar los parámetros. También deberías asegúrate de que no es un archivo o una carpeta. Luego simplemente cambia el orden.

Código (apache) [Seleccionar]

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ miembros/$1 [L,QSA]
</IfModule>


Saludos

Gracias.
ola k ase

Anonymatrix

#7
Muchas gracias a los 2. Sois los mejores. Os quiero.
ola k ase

Anonymatrix

Repito, sois los mejores, no sé si habrá quedado ya claro, pero quiero que conste ello en este post, así que os dejo un vídeo musical que expresa lo que siento cuando la gente me ayuda:

[youtube=640,360]https://www.youtube.com/watch?v=QTOu1q-lCCs[/youtube]

Atte: Soy bipolar.
ola k ase