Reglas de redireccionamiento para .htaccess con mod_rewrite

Reglas de redireccionamiento para .htaccess con mod_rewrite

Tengo un script PHP que genera contenido dinámicamente desde una base de datos basada en consultas. El usuario puede realizar una búsqueda desde un cuadro de texto para la "marca" del nombre de usuario. PHP proporciona el contenido en www.domain.com/?username=mark, aunque me gustaría que el usuario vea la URL de servicio como www.domain.com/username/mark.html. De manera similar, el usuario podría buscar por un perfil (entero). El contenido se genera en www.domain.com/?profile=2. Me gustaría que el usuario vea la URL de servicio como www.domain.com/profile/2.html. ¿Es esto factible?

Aquí está mi archivo .htaccess:

 RewriteEngine On
 RewriteRule ^username/([^/]*)\.html$ /?username=$1 [L]
 RewriteRule ^realname/([^/]*)\.html$ /?realname=$1 [L]
 RewriteRule ^profile/([^/]*)\.html$ /?profile=$1 [L]

Mod_rewrite está habilitado pero este archivo no parece funcionar.

Respuesta1

Su código debería estar funcionando, tal vez no se haya ejecutado en absoluto. Puede intentar cometer un error tipográfico y ver si Apache da una respuesta 500.

Además de eso, puedes intentar utilizar el siguiente htaccess. Se agregó index.php para garantizar que se llame al archivo correcto.

RewriteEngine On
RewriteRule ^username/([^/]*)\.html$ /index.php?username=$1 [L]
RewriteRule ^realname/([^/]*)\.html$ /index.php?realname=$1 [L]
RewriteRule ^profile/([^/]*)\.html$ /index.php?profile=$1 [L]

información relacionada