Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

165
Views
.HTACCESS agregar a slugs

Entonces, actualmente estoy creando una API REST en PHP.

Logré que las babosas funcionaran en su mayor parte. Si solicito /api/admin/v1/users/1 , devolverá el usuario que necesito. Sin embargo, también necesito poder agregarle, por ejemplo, /api/admin/v1/users/1/keys .

El archivo HTACCESS que administra el slug está en la carpeta misma ( /users/ ).

 RewriteEngine On RewriteRule ^(.*)$ user.php?slug=$1 [L]

Intenté agregar otra línea, pero creo que me equivoqué (no soy tan avanzado con HTACCESS)

 RewriteRule ^(.*)/keys$ keys.php?slug=$1 [L]

Esto no hizo nada, todavía devuelve el objeto de usuario.

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

RewriteRule ^(.*)$ user.php?slug=$1 [L] RewriteRule ^(.*)/keys$ keys.php?slug=$1 [L]

La primera regla coincide con todo , por lo que la segunda regla nunca se procesa. Pero dado que la primera regla coincide con todo , también se reescribirá (a user.php?slug=user.php ) en la segunda pasada por el motor de reescritura.

Puede resolver estos problemas haciendo que la expresión regular sea más restrictiva. Desde su URL de ejemplo, parece que el slug es numérico , en cuyo caso puede restringir la expresión regular para que coincida solo con dígitos (0-9).

Por ejemplo:

 RewriteRule ^(\d*)$ user.php?slug=$1 [L] RewriteRule ^(\d+)/keys$ keys.php?slug=$1 [L]

Tenga en cuenta que la primera regla también coincide con una ruta de URL vacía, es decir. ninguna babosa en absoluto (al igual que su regla original). La segunda regla no permite un slug vacío (de todos modos, nunca coincidiría).

over 4 years ago · Santiago Trujillo Report

0

La segunda regla no funciona porque el indicador L permanece para: último - detener el procesamiento de reglas

Entonces necesitas editar para:

 RewriteEngine On RewriteRule ^(.*)$ user.php?slug=$1 [QSA, L] RewriteRule ^(.*)/keys$ keys.php?slug=$1 [QSA, L]
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!