Marcofbb Noticias y Artículos Webmasters



Publicidad marcored

Url amigables con .htaccess

  • 21/08/2010
  • 1:34 pm
  • marcofbb

Este código lo que hace es sacar las extenciones en la url.

Con esto obtenes
- Url mas amigables para los usuarios y los buscadores
- Sacar extención de la barra de direcciones
- Ocultar archivos

Para esto tenes que crear un archivo con el nombre ".htaccess"

<IfModule mod_rewrite.c>
# Activar RewriteEngine
RewriteEngine on
RewriteBase /
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
 
RewriteRule ^(.*)$ $1.php
</IfModule>

Donde dice "RewriteBase /" indica que el directorio base es el raíz. Si fuera por ejemplo una carpeta llamada “base” haríamos "RewriteBase /base".

Lo que esta en negrita que es ".php" tenes que editarlo por la extencion que tienen tus archivos, por ejemplo php, html, asp.

Ahora lo subis a la raiz de tu web y lo probas de esta manera

www.tuweb.com/index.php
tendria que entrar igual si pones
www.tuweb.com/index

Si te las ingenias un poco podes hacer www.tuweb.com/1/mi_primer_post

Saludos

Share

¿Necesitas ayuda? o ¿Asesoramiento webmaster? Registrate en nuestro foro de consultas

Posts Relacionados

Total de Comentarios: 104

Avatar
04/09/2010
11:56 pm

[...] En este tutorial vamos a mostrarle como remplazar texto en varios archivos de diferente exenciones con el notepad ++, con esto podemos lograr el cambio de links de varios archivos .html y/o .php, como por ejemplo para aplicar Url amigables [...]

Avatar
23/02/2011
12:29 am

una pregunta,
¿como hago que mis variables por GET sirvan con urls amigables?

Avatar
23/02/2011
1:11 pm

En este ejemplo es http://www.tuweb.com/index?variable=texto

pero depende para lo que quieres hacer podes hacer. Por ejemplo un perfil

http://www.tuweb.com/perfil/marcofbb/

agregas al .htacess esto:

Rewriterule ^perfil/(.*)/$ perfil.php?id=$1

Cualquier duda, no dudes en consultarme : D

Avatar
Edgar
18/03/2011
9:20 am

Hola yo tengo una web alojada en un servidor que cuenta con Cpanel X... mi pregunta es como hago para que este funcione... probe alzando el archivo creado en bloc de notas llamado ".htaccess" y nada, luego probe con "rename.htaccess" y tampoco paso nada.. Te agradezco desde ya tu aporte y de ser posible darme directivas para que funcione

Avatar
18/03/2011
7:11 pm

¿Que error te imprime?

Options +Indexes
Options +FollowSymlinks
RewriteEngine on
RewriteBase /
RewriteRule ^(.*) $1.php

Pobra con ese codigo en el .htaccess

y la url seria

http://www.tuweb.com/hola.php a http://www.tuweb.com/hola

Avatar
Edgar R
18/03/2011
8:33 pm

en realidad no me imprime ningun error, he creado el .htaccess con el codigo que posteaste primero, lo alze a mi public_html y me sigue apareciendo la extencion index.html

Pero muchas gracias, este ultimo codigo pondre en mi .htaccess borrando este

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.php [L,QSA]

    Avatar
    18/03/2011
    8:36 pm

    Tu web esta echa con html o php ?

    Porque si esta con html tenes que editar donde dice .php por .html o .htm

Avatar
Edgar R
18/03/2011
8:38 pm

si esta en html reemplace las extencion php por html, ahora lo pruebo y te aviso el resultado... muchas gracias!!!

Avatar
Eleazar
18/03/2011
8:57 pm

amigo soy nuevo en los codigo php ytengo una duda tengo rato tratando de poner este sistema .htacces y nos como incoporar a mi pagina.

    Avatar
    18/03/2011
    9:09 pm

    Decime maso menos lo que necesitas y yo te ayudo

Avatar
Edgar R
18/03/2011
9:36 pm

ME IMPRIME EL SIGUIENTE ERRO EN EL NAVEGADOR:

Not Found

The requested URL /home/clinicsa/public_html/index.html was not found on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 Server at 69.73.136.159 Port 80

Avatar
18/03/2011
9:40 pm

Dice que no encontró el archivo, pasame el código del .htaccess que pusiste y el nombre tal cual del archivo index

Avatar
Edgar R
18/03/2011
10:20 pm

el codigo que puse es :

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.html [L,QSA]

Y MI INDEX ES: index.html

Avatar
Edgar R
18/03/2011
10:21 pm

el codigo que puse es :

Rewrite Engine On
Rewrite Cond %{REQUEST_FILENAME} !-f
Rewrite Cond %{REQUEST_FILENAME} !-d
Rewrite Rule ^(.*)$ $1.html [L,QSA]

(sin los espacios entre los Rewrite)

Y MI INDEX ES: index.html

Avatar
Edgar R
18/03/2011
10:28 pm

perdon mi index es http://www.clinicasantander.com.py/index.html

Avatar
18/03/2011
10:36 pm

RewriteEngine On  
RewriteRule ^(.*)$ $1.html

Si no te anda de esa manera crea un archivo .php con el siguiente contenido

<?php phpinfo(); ?>

y aprieta ctrl + f para buscar mod_rewrite, fíjate si aparece

Avatar
Eleazar
20/03/2011
11:57 am

marcofbb es que nose incorporar el archivo .htaccess y como pueden ser para mi archivo que es home.php

Avatar
20/03/2011
1:54 pm

Creas un archivo llamado my.htaccess, cuando lo subís al ftp le borras el my, dejándolo .htaccess

Con este código:

RewriteEngine On  
RewriteRule ^(.*)$ $1.php

Y después entras

http://www.tuweb.com/home

Avatar
Richifredo
30/03/2011
7:44 am

Si no os importa voy a exponer yo mi problema con htaccess, a ver si alguien ve solucion 😛
De momento son solo pruebas en localhost, ya que la web a la que lo quiero implementar tiene bastante uso y no quiero verla fallar cada 2 por 3.
Tengo un archivo index.php, el cual a traves de funciones realiza consultas de identificadores para poder pasarlo como parametro en el enlace en el que se pincha.

Este es mi index.php
localhost/guiaempresas/index.php

Cuando le pinche sobre algun enlace, me llevara a:
localhost/guiaempresas/empresas.php?id=1

He buscado por mas de 100 paginas en google de htaccess, y con ningun ejemplo llego a hacerlo funcionar

¿Como deberia hacerlo para que consiga que me salga una url amigable?

Algo asi me valdria:
localhost/guiaempresas/empresas/1

Un saludo y gracias

Avatar
30/03/2011
12:15 pm

Proba con este código de .htaccess

<IfModule mod_rewrite.c>
# Activar RewriteEngine
RewriteEngine on
RewriteBase /guiaempresas
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
 
RewriteRule ^empresas/(.*)$ empresas.php?id=$1
</IfModule>
Avatar
Richifredo
31/03/2011
5:34 am

Bueno, algo funciona ahora, pero no como yo queria 😛

Con este codigo me funciona si le meto a la barra de direcciones la direccion tal que asi:
http://localhost/guiaempresas/empresas/1
No me carga diseño, pero bueno, antes no hacia nada de esto xD

Lo que yo quiero realmente es que me pinte la url amigable directamente en la barra de direcciones, cuando yo pinche en un enlace del contenido del index.php

Y eso es algo que no se si el htaccess me puede permitir hacerlo, o necesito de funciones de php...

Se que esto deberia funcionar, pork tengo en local una muestra de un portal de comercio electronico con url amigables activas y funciona perfectamente, pero con ese htaccess tampoco puedo hacer nada en el mio xD

Avatar
31/03/2011
12:02 pm

Es que el .htaccess no va a remplazar las url vos tenes que remplazarlas 1 por 1 o si lo haces con peticiones a la BD las remplazas todas de 1.

<a href="http://localhost/guiaempresas/empresas/1/" rel="nofollow">Empresa ID</a>

Lo que podes hacer es enviarme un mail a marco.fbb@gmail.com todo bien detallado y así te ayudo mas

Avatar
Richifredo
01/04/2011
4:36 am

Ahhh!!!! Pues no llevo días intentandolo con el htaccess... xD Entonces tendre que sustituir todos los enlaces para que tire de la manera que me pide el htaccess.

De momento no hace falta marcofbb, creo que ya tengo una solución en cabeza, de todas formas muchas gracias por la ayuda y por la aclaración, sino hubiera estado dias y dias intentandolo asi xD

Avatar
Richifredo
01/04/2011
4:56 am

Pues si, funciona de 10 🙂 Muchas gracias marcofbb

Avatar
Edgar
01/04/2011
7:45 am

Gracias marcofbb!
a mi me funciono a la perfección

http://www.clinicasantander.com.py/index sin extenciones, gracias por compartir tus conocimientos y ampliar los nuestros!

Saludos

Avatar
01/04/2011
12:15 pm

@Richifredo De nada, estamos para ayudar y aprender

@Edgar Gracias por el comentario 🙂

Avatar
Richifredo
06/04/2011
6:54 am

Pues tengo otra pregunta acerca del htaccess. xD
Resulta que a la hora de agregar la segunda regla, no me la resuelve.

Este es el formato que si me interpreta:
http://localhost/guiaempresas/empresas.php?cat=Gimnasios
que me lo devuelve asi:
http://localhost/empresas/Gimnasios

En esa direccion, me apareceran unos cuantos gimnasios, y es cuando intento entrar en uno de ellos cuando no resuelve la direccion

Este es el formato que no me interpreta

http://localhost/guiaempresas/empresas.php?cat=Gimnasios&empresa=Supermuscle
que deberia devolver asi, pero no lo hace:
http://localhost/empresas/Gimnasios/Supermuscle

El archivo htaccess de momento lo tengo asi, y por mas que intento, no consigo hacer funcionar esta segunda parte:

# Activar RewriteEngine
RewriteEngine on

RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{REQUEST_URI} !index

RewriteRule ^empresas/(.*)$ empresas.php?cat=$1 [L]
RewriteRule ^empresas/(.*)/(.+)$ empresas.php?cat=$1&empresa=$2 [L]

A ver si veis solucion a ello, que yo no se que mas probar

Avatar
Richifredo
06/04/2011
6:56 am

Bueno, fallo mio en las direcciones de htaccess. esta son las rutas correctas que quiero que se muestren:

http://localhost/guiaempresas/empresas/Gimnasios
http://localhost/guiaempresas/empresas/Gimnasios/Supermuscle

Avatar
06/04/2011
4:54 pm

¿Cual es el error? no se muestra la pagina cuando poner url amigables ?

Por lo que veo el .htaccess esta bien, lo que tenes que hacer es modificar los links de cada categoria y subcategoria.

Yo te puedo ayudar pero necesito saber el error concreto, si queres, le podes sacar un pantallaso (impr pant) al código y yo veo cual es el error o simplemente publicarlo aca

Con la etiqueta:

<pre lang="php"> ACA CODIGO </pre>

Saludos

Avatar
Richifredo
07/04/2011
6:45 am

Bueno, ya lo he conseguido. Me parece muy raro el comportamiento que tiene, pero al menos lo hace. Pinto las 2 reglas:

RewriteRule ^empresas/(.*)$ empresas.php?cat=$1 [L]
RewriteRule ^detalles/(.*)/(.+)$ empresas.php?cat=$1&empresa=$2 [L]

Al parecer, no me interpretaba la segunda regla, porque antes tenia puesta casi la misma url, es decir "/empresas/categoria" para la primera regla y "/empresas/categoria/nombreempresa" para la segunda. Sin embargo, al cambiar el nombre del supuesto directorio en la segunda regla, ya me lo interpreta bien.

A los 2 comentarios anteriores no le hagas mucho caso, que una vez que los envie me di cuenta que apenas habia escrito algo correctamente xD

Avatar
07/04/2011
11:34 am

jajaja :E 🙂 cualquier otra duda la podes comentar 🙂

Dejo mi msn: marcofbb@hotmail.com

Avatar
Agustin
19/04/2011
7:06 pm

Hola como podria hacer para que:

/espacio.php?u=1

sea:

/espacio/NOMBREDEUSUARIO

Probe con esto, pero no sirvio:

RewriteEngine on
Rewriterule ^espacio/(.*)/$ espacio.php?u=$1

Agrego a favoritos la pagina para estar al tanto, muchas gracias de antemano!

Avatar
Sorcerer-Dark
19/04/2011
8:40 pm

hol bueno yo tengo 2 archivos .htaccess una es de error 404 perzonalisado y quiero poner este pero no puedo por que ya tengo el de 404 quisiera saber si no ahy otra forma de porner los dos

    Avatar
    20/04/2011
    2:31 pm

    @Sorcerer-Dark Pone el código que tenes ahora mismo en el .htaccess, y yo le agrego este y te lo paso

    @Agustin Lo que podes hacer es /espacio/1/nombredeusuario o modificar espacio.php para que haga un WHERE con el nombre de usuario y no con el ID

    Proba con esto

     
    # Activar RewriteEngine
    RewriteEngine on
    RewriteBase /
    RewriteCond %{SCRIPT_FILENAME} !-d
    RewriteCond %{SCRIPT_FILENAME} !-f
     
    RewriteRule ^espacio/(.*)/(.*)/$ espacio.php?u=$1

    y la url seria tuweb.com/espacio/IDdelusuario/Nombredelusuario/

Avatar
Sorcerer-Dark
20/04/2011
3:31 pm

bueno el codigo que aorita tengo en el .htaccess es este: ErrorDocument 404
http://tu-web.com/404.html
y para que funciona el codigo tengo que aser otra pagina osea una que diga lo sentimos no se encontro la pagina

Avatar
20/04/2011
4:34 pm

<IfModule mod_rewrite.c>
# Activar RewriteEngine
RewriteEngine on
RewriteBase /
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
ErrorDocument 404 http://tu-web.com/404.html
 
RewriteRule ^(.*)$ $1.php
</IfModule>
Avatar
Sorcerer-Dark
21/04/2011
1:43 pm

ok muchas grasias lo probare

Avatar
jPax
18/05/2011
9:59 am

Gracias por la explicación detallada 😀

Tardé para hacer funcionar mi htaccess pero sí se pudo finalmente.

Avatar
19/06/2011
11:40 pm

Wooow todo esto me sirve es interesante bro y erdona por los problemas anteriores por cierto aki te tengo un pregunta en mac como se crea un archivo .htaccess

    Avatar
    19/06/2011
    11:47 pm

    Creas el archivo con cualquier nombre, y cuando lo subes al ftp lo editas a .htaccess, saludos

Avatar
20/06/2011
12:16 am

mmm pero con k programa lo puedo crear 🙂 o asme una y yo la bajo please te lo agaradeceria

Avatar
20/06/2011
12:22 am

Como no, acá esta: http://www.megaupload.com/?d=RDCT6A0V

Avatar
20/06/2011
12:25 am

mm ya entendi 🙂 oie pero por ejemplo pongo este codigo

# Activar RewriteEngine
RewriteEngine on
RewriteBase /
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f

RewriteRule ^(.*)$ $1.php

en caso de kpor ejemplo tengo index.php y otros como portfolio.php como le ago para configurarlos bn
k necesito agregar o donde editar te lo agradeceria

Avatar
20/06/2011
12:27 am

Automáticamente al poner http://www.tuweb.com/portafolio

te mostrara todo lo que esta en portafolio.php

Avatar
20/06/2011
12:28 am

mmm ok provare solo pego este codigo verdad {code}
# Activar RewriteEngine
RewriteEngine on
RewriteBase /
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f

RewriteRule ^(.*)$ $1.php
{/code}

y seria todo

Avatar
20/06/2011
12:32 am

Si, solo eso 🙂

Avatar
20/06/2011
12:34 am

no me sale trate de varias formas como por ejemplo

# Activar RewriteEngine
RewriteEngine on
RewriteBase /
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f

RewriteRule ^index.php(.*)$ $index

y tampoco

Avatar
20/06/2011
1:14 am

yo creo k en zymic.com por k no le ayo u.u espero me puedas ayudar

Avatar
20/06/2011
1:14 am

perdon dije k creo que en zymyc.com no se puede por k no puedo espero me ayudes 🙂

Avatar
20/06/2011
1:30 am

fíjate en 000webhost

Avatar
Richifredo
06/07/2011
7:06 am

Hola de nuevo!
Vengo ahora con problemas en otro portal. Es una videoteca, y al crear el .htaccess todo me funciona bien, excepto cuando tengo que pasar algun parametro. Me ocurre lo siguiente:

Las urls amigables simples, es decir, index.php, contacto.php... me las hace sin problemas, pero cuando intento cargar un video en concreto, es decir, video.php?id=1, me carga toda la información que necesito (nombre del video, descripcion, valoración...) excepto el video. Además, el diseño del portal va un poco a lo suyo y no me lo respeta.

Alguien me sabria decir por que me pasa esto?

Un saludo.

Avatar
06/07/2011
2:50 pm

por lo que me contas el parámetro se envía bien, hay un problema de programación.

Por favor subí el archivo video.php en http://sharetext.org/ y deja el link como comentario o si quered que sea mas privado envíamelo desde el formulario de contacto

Avatar
Richifredo
07/07/2011
6:00 am

Gracias marcofbb, pero no tengo la posibilidad de compartir el contenido de los ficheros, ya que no se tratan de ficheros creados por mi. De todas formas he localizado uno de los fallos, en el cual no cargaban los videos. He tenido que meter en la cabecera una etiqueta . En lo del diseño, que se descuadra un poco, todavia lo estoy investigando 🙂
Gracias de nuevo!

Avatar
07/07/2011
12:38 pm

Buenísimo, igual el problema seguro que es del diseño ya que si te trae el id con ese dato traes toda la demás información

Saludos

Avatar
Richifredo
08/07/2011
3:28 am

Jajaja! Fallaba el código solamente por errores de ruta xD Si esque 2 dias tirados solo por las malditas "/" xD Bueno, de todas formas gracias por la preocupacion

Avatar
Andrea
27/07/2011
12:03 am

hola tengo una gran duda
quisiera saber como puedo ocultar el id de mi web al mostrarlas por paginas
ejemplo en mi .htaccess tengo esta url:
RewriteRule ^ver/([0-9]+)/(.*?).html$ episodio.php?id=$1&t=$2 [L,NC,QSA]
y es mostrado de la siguiente manera:
ver/11/Mayoi-Neko-Overrun_Episodio-1.html
quisiera que el id del capitulo.. k esta como 11 sea ocultado alguna idea?
lo que quisiera es que quedara asi:

ver/Mayoi-Neko-Overrun_Episodio-1.html

Avatar
27/07/2011
2:08 pm

Si vos tomas el id del capitulo como referencia para hacer la búsqueda en la base de datos, no vas a poder "ocultarlo" pero si tomas como referencia el nombre del capitulo ahí si vas a poder ocultarlo

Avatar
30/07/2011
9:04 pm

HOla...quisiera sabe si me puedes ayudar...tengo este web http://www.centrodereserva.com con este htaccess RewriteRule ^(.*)$ index.php?id=$1 [L,QSA]...mi duda es que tiene mas de un mes montado y no me indexa bien las paginas...dan errores al cargarla...son paginas dinamicas...me podras ayudar? mil gracias

    Avatar
    30/07/2011
    9:09 pm

    Para que te indexe mejor, crea un sitemap o pone últimas búsquedas así el buscador puede navegar mediante los links, encima fíjate que tenes mal la estructura html abrís la etiqueta body y DOCTYPE muchas veces.

    Saludos

Avatar
30/07/2011
9:25 pm

Hola gracias responder...donde veo lo del body o DOCTYPE= soy algo nuevo en esto de paginas dinamicas...fijate que google me indexo varias paginas pero con errores por ejemplo: http://centrodereserva.com/carga_busqueda_guia?region=15

lo veo con site:centrodereserva.com

Gracias otra vez

Avatar
30/07/2011
9:29 pm

1- en el codigo html
2- Google indexea lo que ve, si ve errores va a indexar errores. Fíjate que las rutas de los archivos estén bien puestas. Y por lo que dice el error hay una variable no definida.

Te recomiendo http://www.forosdelweb.com/f18/ para preguntar dudas sobre la programación php.

Saludos

--

También veo en http://centrodereserva.com/modulos/lista_guia.php que no encuentra la class MySQL, recomiendo que te fijes en la ruta de los archivos.

Avatar
30/07/2011
9:30 pm

Muchas gracias por la atencion

Avatar
30/07/2011
9:31 pm

De nada, cualquier otra pregunta, no dudes en comentar

Saludos

Avatar
Yoysoyyo
07/12/2011
10:59 pm

Hola... He intentado 1000 cosas, entre ellas códigos que pones por aquí, y no he conseguido nada...

Yo tengo hosting en 1&1. He visto por ahí que hay que hacerlo de la siguiente manera:

Código para .htaccess:

Options +FollowSymLinks
RewriteEngine on
RewriteBase /

Vale, pero esto no es suficiente, me sale el párking de 1&1 y me dice que no encuentra la dirección solicitada... ¿Qué más tengo que hacer?

Avatar
Yosoyyo
08/12/2011
1:17 am

Vale, se ha arreglado solo volviendo a meter el .htaccess que venía por defecto. Lo que no entiendo es por qué no se había enterado antes... Pero bueno, ya está resuelto.

Avatar
17/04/2012
6:30 am

Hola, si quiero cambiar este enlace:
http://www.chatgratuito.net/municipios.php?link=28&provincia=Madrid

Para que quedase de esta manera:
http://www.chatgratuito.net/provincia/madrid.php

Como tendria que hacerlo?

correo: salva@chatvalencia.net
Saludos y Gracias

Avatar
Eduardo
03/05/2012
4:06 pm

Hola buen aporte me gustaria saber si puedes ayudarme a cambiar esta url de mi sitio no quiero que se vea asi
http://www.misitio.com.mx/carpeta1/carpeta2/archivo.php

me gustaria saber como quitarle /carpeta1/carpeta2/archivo.php y que quede asi:
http://www.misitio.com.mx/nombre

Avatar
14/07/2012
9:09 am

Hola, mi sitio es un sitio de anuncios y las paginas internas de los anunciantes se ven en el formato mundosanmiguel.com.ar/nombre_anunciante.html (nombre_anunciante.html lo cargo yo en un campo especial donde tomo la url del anunciante) y qusiera que las paginas internas pertenecientes a cada anunciante fueran http://www.mundosanmiguel.com.ar/nombre_anunciante
sin el ".html"
Muchas Gracias.

Avatar
15/07/2012
2:49 pm

MundoSanMiguel, siga el procedimiento del tutorial este y cambie la linea

RewriteRule ^(.*)$ $1.php

por

RewriteRule ^(.*)$ $1.html

Saludos

Avatar
Juanma
21/08/2012
3:55 am

hola marcos, necesito tu ayuda para hacer algo como ésto.

Yo quiero que si alguien tipea en el navegador misite.com o http://www.misite.com se vaya a otro sitio (es decir no quiero que se vea el index.php) pero quiero que se pueda acceder al contenido de index.php sin problemas.

Estuve probando éste codigo pero no me funciona, podrias darme una mano gracias.

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1 [L]
RewriteRule ^$ http://www.example.com/ [R=301,L]

Si inteto accedet a misite.com me lleva a example.com pero si intento acceder a misite.com?hola me redirecciona tambien, lo que quiero es que lo ultimo no tenga problemas ya que al acceder a él se veria el contenido de index.php

gracias.

Avatar
22/08/2012
2:37 am

No entendí bien, si lo que quieres es migrar un dominio y no perder el seo. Y lograr lo siguiente si entras a sitio1.com te redireccione a sitio2.com y si entras a sitio1.com?variable=asd te redireccione a sitio2.com?variable=asd el codigo a emplear es este

RewriteEngine on
RewriteCond %{HTTP_HOST} ^oldsitio.com [NC]
RewriteRule ^(.*)$ http://www.newsitio.com/$1 [L,R=301]

Lee esto: http://www.hellogoogle.com/301_cambiar_dominio_page_rank/

-

Pero si lo que quieres es que el archivo index.php no sea el primero que se carga a iniciar tu web, por ejemplo quieres que apenas entres a tu web (www.tuweb.com) valla directamente al archivo home.php

DirectoryIndex home.php

Saludos

Avatar
31/08/2012
5:47 am

Hey tengo una super duda quiero poner url amigables a este link

quependejo.tk/obrazek.php?36

como haria para que qde asi.

http://quependejo.tk/36

Avatar
31/08/2012
11:59 am

Edita

RewriteRule ^(.*)$ $1.php

por

RewriteRule ^([0-9]+)$ obrazek.php?$1

Avatar
Eduardo
31/08/2012
12:53 pm

Hola amigo ya tengo en funcionamiento lo del htacces pero ahora como le haria para que cuando quiera regresarme al inicio no me quede así localhost/demo/index quitarle el index que no me aparezca se puede hacer eso.

Saludos!!!!

Avatar
31/08/2012
5:41 pm

amigo lo puse y nada no corre me sale error podrias asesorarme con tu email.

Avatar
Marcofbb
01/09/2012
4:54 pm

@Cesar, utiliza el formulario contacto

Saludos

Avatar
01/09/2012
11:02 pm

# Activar RewriteEngine
RewriteEngine on
RewriteBase /
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f

RewriteRule ^([0-9]+)$ obrazek.php?$1

Eh puesto asi y me vota el error404 estare haciendo algo mal?

Avatar
03/09/2012
2:05 pm

Error 404 significa que el archivo .php no existe, como esta estructurada tu raiz ? cuales son los archivos que están en ella?

Saludos

Avatar
05/09/2012
3:40 am

Tengo dos obrazek uno esta en la raiz y otro esta en themes.

el de la raiz hace la conexion al diseño

require_once('themes/'.$theme.'/header.php'); //LOAD header
echo '';
require_once('themes/'.$theme.'/obrazek.php'); //LOAD content
echo '';
require_once('themes/'.$theme.'/footer.php'); //LOAD footer

y en themes tengo esto

$ex = explode("?",$_SERVER['REQUEST_URI']);

Pues tal vez sea por eso que no reconoce la url amigable que me distes de solucion?

Avatar
05/09/2012
4:53 am

Sorry ya me ligo pero tengo una duda mas

Este link

http://fackiu.com/69-Sin-ofender.html

Para que se vea asi?

http://fackiu.com/69/Sin-ofender.html

Este es mi htaccess

RewriteBase /
Options +FollowSymLinks
IndexIgnore */*
# Turn on the RewriteEngine
RewriteEngine On
# Rules
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ obrazek.php?/$1 [L]

En el theme lo tengo asi

$tytulp = preg_replace("/[^a-zA-Z0-9\']/", "-", $img['title']);

Gracies marco eh.. solo falta estito 😀

Saludos

    Avatar
    05/09/2012
    7:03 pm

    Te recomiendaria mandar los datos vía GET, por ejemplo

    RewriteBase /
    Options +FollowSymLinks
    IndexIgnore */*
    # Turn on the RewriteEngine
    RewriteEngine On
    # Rules
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^([0-9]+)/(.*)$ obrazek.php?id=$1&nombre=$2 [L]

    En obrazek.php haces

    echo $_GET["id"]; echo $_GET["nombre"];

Avatar
fito
19/09/2012
6:44 am

Hola.
hay alguna forma mediante php que al ingresar en cualquier pagina de X dominio, en la barra de direccion del navegador del usuario aparezca siempre una misma direccion url y no cambie?

Gracias !!

Avatar
Josep
06/11/2012
9:21 am

Hola tengo un problema con el appserv ya le active el mod_rewrite y todo eso. Mi problema esta en que no me funciona el .htaccess ya probe con los que pusiste arriba y me funciona a medias pues no me recibe las variables el PHP. Te envío mi htaccess:

# Activar RewriteEngine
RewriteEngine on
RewriteBase /dkl
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f

RewriteRule ^clientes/(.*)$ cliente.php?id=$1

Yo quiero que tenga este tipo de URl:
localhost/dkl/clientes/boticasfasa

y la url php sería:
localhost/dkl/cliente.php?id=boticafasa

Quisiera que por favor me ayudes y desde ya muchas gracias.

Avatar
13/11/2012
1:41 am

Hola mi pregunta es la siguiente, ya agregue en el root del cpanel en mi caso el archivo .htaccess

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html

pero a la hora que busco x ejemplo
brunirows.com/historieta/tomo3:
Me aparece lo siguiente.
Index of /historieta/tomo3

Parent Directory
favicon.ico
menutomo3.html
tomo3cinco.jpg
tomo3cuatro.jpg
tomo3dos.jpg
tomo3nueve.jpg
tomo3ocho.jpg
tomo3seis.jpg
tomo3siete.jpg
tomo3tres.jpg
tomo3uno.jpg

Apache/2.2.22 (Unix) mod_ssl/2.2.22 OpenSSL/1.0.0-fips mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 Server at brunirows.com Port 80

En lugar del contenido original de la pagina con terminacion .html

Alguien me podria ayudar?
Muchas gracias.

Avatar
David
31/12/2012
9:32 pm

Como asi que carpeta base? osea que seria public_html en mi caso??

Avatar
31/12/2012
10:07 pm

public_html, y htdocs serian raiz, es decir no hace falta ponerlo como base

Saludos

Avatar
Yeshua
05/04/2013
9:29 pm

Marco si me podes ayudar con mi .htaccess

Lo tengo de esta manera:

RewriteEngine on
RewriteBase /
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f

RewriteRule ^Episodios/(.*)$ Episodio.php?seo=$1

Al entrar a http://www.misitio.com/Episodios/001 si muestra la pagina,pero no muestra los valores que llama desde la base de datos mysql

¿Alguna ayuda?

Avatar
Erick Amaya
07/05/2013
3:43 am

Yo tengo el mismo problema ya tiempo quiero eliminar la extencion de la barra para que no sepa la gente el lenguaje de programacion que uso un ejemplo es que tengo esto
http://127.0.0.1/RSCCH/inicio.php

y quiero pasarlo a que se mire asi

http://127.0.0.1/RSCCH/inicio

y mire con el info.php

y no me aparece la obsion mod_rewrite agregue lo que propones alli pero no se si lo hice bien o no

# Activar RewriteEngine
RewriteEngine on
RewriteBase /RSCCH
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f

RewriteRule ^inicio/(.*)$ inicio.php

y otra pregunta donde se guarda el archivo
.htaccess en que carpetas se guarda este archivo ?

¿hay que modificar algo en el archivo php de apache? yo tengo el apache EasyPHP 5.3.0 y el EasyPHP-5.3.9 en modo localhost en mi computadora como hacer para que mis archivos no aparezcan con la extensión en la barra de dirección?

Avatar
09/06/2013
3:15 am

Saludos Marcos, Tengo Una Pagina En Php quisiera ocultar esto ver.php?id_file=

pero me sale mal, por que lo necesito en metodo post, ya que el id de cada archivo cambia por ejemplo:

ver.php?id_file=422
ver.php?id_file=423
ver.php?id_file=424

Osea La Base De Datos genera esos id automaticamente pero quisiera ocultar las variables quisiera que se viera asi:

Ejem>

http://www.miweb.com/file/422

lo hise como explicas pero solo me funciona de esta forma:

miweb.com/file/?id_file=422

Gracias... Espero tu respuesta...

Avatar
26/07/2013
6:28 pm

Muchas Gracias marcofbb !

Probé el código que comentas en mi website y funciona perfectamente, todo correcto 😉

Un saludo desde Barcelona

Avatar
21/11/2013
9:30 pm

Hola, estoy intentando usar lo aportado en y no logro hacerlo.
Tengo lo siguiente
[code]
#ocultando .php
RewriteEngine on
RewriteBase /public_html
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ $1.php

#ocultando .html
RewriteEngine on
RewriteBase /public_html
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ $1.html[/code]

Pero sigue mostrando los .html.
Uso 000WebHost. Tambien probe poniendo directamente RewriteBase / y tampoco toma el .htaccess

Tendras idea que puede ser?

Avatar
Emperor
27/11/2013
12:16 am

RewriteEngine on
options all indexes
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^([^/]+)$ $1.php
ErrorDocument 404 http://ejemplo.com

RewriteCond %{HTTP_HOST} ^www.(.*) [NC]
RewriteRule ^(.*) http://%1/$1 [R=301,L]

ese codigo quita las www y si alguien pone asi: ejemplo.com/noticia1/ redireciona a index, esta para usarlo asi: ejemplo.com/noticia1

Avatar
Juls
10/12/2013
7:55 am

Hola alguien puede ayudarme?
tengo un problema con el .htaccess

quiero esto:www.ejemplo.com/item/id/hola
he conseguido esto:www.ejemplo.com/item-id-hola

En el .htaccess he intentado poner las "/" pero me falla toda la pagina esto es lo que he hecho

Options +FollowSymLinks
Options -MultiViews
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_FILENAME} !-d
#1
Rewriterule ^(.*)-(.*)-(.*)$ index.php?$1=$2 [L]

ayudaaaa por favor llevo varias horas con esto 🙁

Avatar
Ricardo
07/02/2014
1:31 pm

estimado Marco

No se si me puedes ayudar con el tema. Por más que lo he intentad siguiendo tus instrucciones, no sucede nada

http://www.esm.cl/

Saludos,

Ricardo

Avatar
david
18/02/2014
6:03 pm

Tienes archivos de ejemplo para probar

Avatar
Anselmo
31/03/2014
5:26 pm

si tu url_amigable es
ej: noticia/1/titulo-de-la-nota
no amigable index.php?modulo=noticia&id=3

donde "noticia" y "id" es un parametro rescadado por el metodo GET en el codigo php
si mi url_amigable no contiene estos parametro como haria para que me funcione la pagina rescatando estos dos parametros internos.

Avatar
lucas
14/04/2014
1:05 pm

hola ayudaaaaaaaaaaaaaaa............ necesito hacer esto
http://inventario.dev/editAdministradores/3

Avatar
05/05/2014
12:23 am

Gracias, estaba buscando esta respuesta por horas, aplique la solucion inicial y efectivamente las url como mi caso, http://midominio.com/quienes-somos, funcionaron a la perfección como http://midominio.com/quienes-somos.php.

Avatar
19/06/2014
7:17 pm

hola a todos , tengo el codigo y me funciona perfecto ejempol: hibook.org/nombre/
asi funciona pero yo quiero quitar la ultima barra .
mi codigo es :
RewriteEngine On
RewriteRule ^(.*)/$ index.php?categoria=$1
funciona bien imprime incluso probe muchos codigos y todos son lo mismo solo quiero quitar la ultima barra

Avatar
24/07/2014
6:01 pm

ejemplo: url no amigable seria: http://www.zonaleros.com/post.php?id=Half%20Life%202%20Episode%20One

quisiera saber que codigo hace esto al link:

http://www.zonaleros.com/half-life-2-episode-one/

Donde a los espacios los reemplaza con la "-" y si en el caso que tenga ":" los eliminaria para las URL !! que codigo seria eso ???

Avatar
06/11/2014
10:44 pm

Hola, tengo lo siguiente, aveces me colocan las url en la barra de dirección en mayúscula otras en minúscula y otras mixtas como lo tengo que configurar.

Ejemplo
Dominio.com/hola
Dominio.com/HOLA
dominio.com/HolA

y estas van a la pagina hola.php

RewriteEngine On
#Configura url limpias/Bonitas
RewriteRule ^hola hola.php

Avatar
juan carlos lopez
06/11/2014
10:45 pm

Hola, tengo lo siguiente, aveces me colocan las url en la barra de dirección en mayúscula otras en minúscula y otras mixtas como lo tengo que configurar.

Ejemplo
Dominio.com/hola
Dominio.com/HOLA
dominio.com/HolA

y estas van a la pagina hola.php

RewriteEngine On
#Configura url limpias/Bonitas
RewriteRule ^hola hola.php

Avatar
24/07/2015
7:35 am

Estaba buscando asesoría de como Bloquear un sub dominio en en httacces, he encontrado varios ejemplos de bloqueo de dominio pero no encuentro bloqueo de sub dominio, podrías ayudarme, saludos.


Enviar Comentario

(*)

(*)