Redirigir slug como parámetro para no archivos

Tengo urls como /s/30ec3629 al que quiero redirigir /s/somefile.php?s=30ec3629.

Hay otros archivos en ese mismo directorio, y si existe un archivo para una solicitud determinada, no quiero que se redirija (es decir, no me gustaría /u/some_img.gif redirigido a /u/somefile.php?s=some_img.gif). Esta redirección solo debe ocurrir dentro del /s/ directorio.

¿Qué es .htaccess reescriba la regla que necesitaría para esto?

preguntado el 28 de agosto de 12 a las 14:08

Te advierto que a la gente de aquí no le gusta preguntar antes de probar :| -

Ah lo he intentado. Mis intentos de reescribir las reglas de htaccess se convierten en líos y chapucerías muy desagradables y, por lo general, producen 500 errores internos del servidor. Realmente no quieres ver el lío que escribí tratando de hacer que esto funcione. -

1 Respuestas

Prueba esto en el archivo htaccess en tu directorio /s/

RewriteEngine On
RewriteBase /s/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ somefile.php?s=$1 [L,QSA]

Respondido 29 ago 12, 00:08

¿Pongo esto en /s/.htaccess, o en /.htaccess. Solo quiero que la redirección de slug ocurra dentro del /s/ directorio, pero su código está produciendo un 404. Funciona correctamente si hay un archivo existente. - eric

@Erics, lo siento, debo haber leído mal tu pregunta, mira la edición: jon lin

Mea culpa, podría haber sido más claro. El nuevo código funciona maravillosamente, ¡gracias! - eric

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.