Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

301
Visualizações
.htaccess: bonita URL con cualquier número + nombres de parámetros


Hola ! Sé que ya hay muchos temas sobre la reescritura de URL y, sinceramente, juro que he pasado mucho tiempo tratando de aplicarlos a mi problema, pero no veo que ninguno de ellos se aplique perfectamente a mi situación (si encuentra lo contrario). , por favor proporcione el enlace). -----

Aquí está el problema:

Estoy aprendiendo el modelo MVC y la reescritura de URL y tengo mi URL así:

 http://localhost/blahblahblah/mywebsite/index.php?param1=value1&param2=value2&param3=value3 ... etc ...

Lo que quiero (para algunos objetivos de plantilla MVC) es tener este tipo de URL:

 http://localhost/blahblahblah/mywebsite/value1/value2/value3 ... etc ...

-----

Cualesquiera que sean los nombres de los parámetros y cualesquiera que sean los valores.
Esto es lo más esencial para lo que no puedo encontrar una solución.

(Además, no se preocupe por el host local, bla, bla, bla, esto tiene que funcionar incluso en sitios web distantes, pero confío en que funcionará bien en el sitio web en línea, ya que esta parte de la URL puede no tener importancia en lo que quiero hacer)

Muchas gracias por su tiempo si me puede ayudar a ver más claro en lo que tengo que hacer.

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Si el archivo .htaccess está ubicado en la raíz del documento (es decir, efectivamente en http://localhost/.htaccess ), entonces deberá hacer algo como lo siguiente usando mod_rewrite:

 RewriteEngine On RewriteRule ^(blahblahblah/mywebsite)/(\w+)$ $1/index.php?param1=$2 [L] RewriteRule ^(blahblahblah/mywebsite)/(\w+)/(\w+)$ $1/index.php?param1=$2&param2=$3 [L] RewriteRule ^(blahblahblah/mywebsite)/(\w+)/(\w+)/(\w+)$ $1/index.php?param1=$2&param2=$3&param3=$4 [L] # etc.

Donde $n es una referencia inversa al grupo capturado correspondiente en el patrón RewriteRule anterior (primer argumento).

UDPATE: \w es una clase de carácter abreviado que coincide con az , AZ , 0-9 y _ (guion bajo).

Se requiere una nueva directiva para cada número de parámetros. Podría combinarlos en una sola directiva (compleja), pero tendría muchos parámetros vacíos cuando solo se pasaran unos pocos parámetros (en lugar de no pasar esos parámetros en absoluto).

Supongo que sus URL no terminan en una barra inclinada final.

Sin embargo, si el archivo .htaccess está ubicado en el directorio /blahblahblah/mywebsite , entonces las directivas podrían simplificarse un poco:

 RewriteRule ^(\w+)$ index.php?param1=$1 [L] RewriteRule ^(\w+)/(\w+)$ index.php?param1=$1&param2=$2 [L] RewriteRule ^(\w+)/([\w]+)/([\w]+)$ index.php?param1=$1&param2=$2&param3=$3 [L] # etc.

No utilice parámetros de URL (método alternativo)

Un enfoque alternativo es no convertir los segmentos de ruta en parámetros de URL en .htaccess y, en su lugar, simplemente pasar todo a index.php y dejar que su secuencia de comandos PHP divida la URL en parámetros. Esto permite cualquier número de parámetros.

Por ejemplo, su archivo .htaccess se vuelve bastante más simple:

 RewriteRule ^\w+(/\w+)*$ index.php [L]

(Esto supone que el archivo .htaccess se encuentra en el directorio /blahblahblah/mywebsite ; de lo contrario, debe agregar el prefijo de directorio necesario como se indicó anteriormente).

El patrón RewriteRule simplemente valida que la URL de la solicitud tenga el formato /value1 o /value1/value2 /value1/value2/value3 etc. Y la solicitud se reescribe en index.php (el controlador frontal) para manejar todo.

En index.php , luego examina $_SERVER['REQUEST_URI'] y analiza la URL solicitada.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda