Estoy teniendo un momento difícil con .htaccess. Quiero crear URLs amigables para un sitio que estoy trabajando ...¿Cómo puedo crear URL amigables con .htaccess?
Básicamente quiero convertir esto:
http://website.com/index.php?ctrl=pelicula&id=0221889
http://website.com/index.php?ctrl=pelicula&id=0160399&tab=posters
En esto:
http://website.com/pelicula/0221889/
http://website.com/pelicula/0221889/posters/
En caso de que lo necesite más tarde también me gustaría saber cómo añadir el título del artículo hasta el final de la URL como esto (estoy usando PHP):
http://website.com/pelicula/0221889/the-article-name/
http://website.com/pelicula/0221889/the-article-name/posters/
No
E: método Stackoverflow también es bueno para mí, por ejemplo, la URL de esta pregunta es:
http://stackoverflow.com/questions/3033407/htacces-to-create-friendly-urls-help-needed
Pero usted puede poner cualquier cosa después de la Identificación y también funcionará. de esta manera:
http://stackoverflow.com/questions/3033407/just-anything-i-want
he utilizado algunas herramientas automáticas web para crear el archivo .htacces, pero no su trabajo correctamente. Entonces le pido su ayuda.
también me alegraré si se puede recomendar .htacces mejores prácticas y recomendaciones ..
EDIT: basado en algunas respuestas que llegar hasta aquí pongo esto:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^/([^/]+)/([^/]+)/?([^/]*)/?$ index.php?ctrl=$1&id=$2&tab=$3 [QSA,L]
</IfModule>
Pero consigo el error "página no encontrada" del host predeterminado.
También probé:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/(\d+)/([^/]+)/?$ index.php?ctrl=$1&id=$2&tab=$3 [QSA,L]
RewriteRule ^([^/]+)/(\d+)/?$ index.php?ctrl=$1&id=$2 [QSA,L]
RewriteRule ^([^/]+)/?$ index.php?ctrl=$1 [QSA,L]
</IfModule>
Esto también no funciona. Me lleva a mi página predeterminada 404.php.
mod_rewrite está habilitado y funcionando.
¡Ayuda!
http://stackoverflow.com/questions/2569725/getting-two-variables-in-the-url-with-htaccess/2569734#2569734 http://stackoverflow.com/questions/2088804/htaccess- confusing-clean-urls/2088854 # 2088854 http://stackoverflow.com/questions/2549408/needs-some-help-with-an-apache-mod-rewrite-issue/2549688#2549688 ... –
Para ver cuál es tu Se están reescribiendo las URL, intente hacer eco de $ _GET en la parte superior de index.php o usar el registro de reescritura para depurar. http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewritelog – cam8001
¿Estás "realmente" seguro de que la reescritura funciona correctamente? Tuve los mismos problemas una vez con archivos de configuración de Apache mal configurados. http://www.webune.com/forums/how-to-test-check-if-mod-rewrite-is-enabled-t40.html realmente me ayudó – DrColossos