Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: basickdagger en 15 Enero 2022, 01:34 am



Título: URL amigable .htaccess
Publicado por: basickdagger en 15 Enero 2022, 01:34 am
Quiero hacer una URL amigable de:

midominio.com/ciudad/ciudad.php?city=ny

para poder observarla como:

midominio.com/ny

he visto algunos tutoriales, pero solo encuentro para modificar urls tipo:

midominio.com/ciudad.php?city=ny&lb=1

Código:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /ciudad/
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^([a-zA-Z]+)/([0-9]+)/?$ ciudad.php?city=$1&$lb=$2 [L]
</IfModule>
 

tipo asi: midominio.com/ny/1/

si en mi caso tengo una carpeta que quiero ocultar pero tampoco quiero hacerla directorio raiz como podria hacerlo?



Título: Re: URL amigable .htaccess
Publicado por: MinusFour en 15 Enero 2022, 02:56 am
Simplemente cambia:

Código
  1. RewriteRule ^([a-zA-Z]+)/([0-9]+)/?$ ciudad.php?city=$1&$lb=$2 [L]

por

Código
  1. RewriteRule ^([a-zA-Z]+)$ ciudad.php?city=$1 [L]

No necesitas el RewriteBase a menos que estes haciendo una redirección de:

Código:
http://midominio.com/ciudad/ny

Hacia:

Código:
http://midominio.com/ciudad/ciudad.php

Edit:

Realmente depende de donde estés haciendo la redirección, si está en un .htaccess en la raíz, entonces va desde:

Código:
http://midominio.com/ny

Si está en el directorio ciudad:

Código:
http://midominio.com/ciudad/ny


Título: Re: URL amigable .htaccess
Publicado por: basickdagger en 15 Enero 2022, 03:25 am
vale, gracias, hay alguna forma de que no se rompan las url relativas por ejemplo cuando llamo a alguna imagen, los SCRIPT_FILENAME tengo entendido que son para scripts, por eso los js/css no se rompen, pero en las imagenes cual podria utilizar? o tengo q modificar mis urls por absolutas?


Título: Re: URL amigable .htaccess
Publicado por: MinusFour en 15 Enero 2022, 04:00 am
Las condiciones que tienes son para archivos en general. js/css/gif/png, lo que sea. Si la ruta es un archivo y existe entonces no se reescribe la URL.


Título: Re: URL amigable .htaccess
Publicado por: basickdagger en 15 Enero 2022, 04:16 am
lo solucione colocando <base href="https://www.midominio.com/" /> en el header


Título: Re: URL amigable .htaccess
Publicado por: .xAk. en 15 Enero 2022, 21:37 pm
si en mi caso tengo una carpeta que quiero ocultar pero tampoco quiero hacerla directorio raiz como podria hacerlo?

Si estás programando, php, perl, python, ... para el servidor web. Desde ellos puedes acceder a carpetas a las que al servidor web le es imposible.

Supón tu directorio raiz en /dir/dir/dir/html puedes acceder por ejemplo a /dir/dir/dir/misCosas y desde el servidor web es imposible por poco cuidado que esté el script o cgi-bin.

Saludos