La cuestión es que estoy personalizando mi archivo .htaccess con el objetivo principal de hacer mis url amigables.
He probado algunas funciones, por ejemplo, una que hace que se añada "www" al principio de la url aunque el usuario no lo especifique; u otra que añade ".php" al final en caso de que exista dicho archivo.
Por lo tanto sé que mi servidor tiene mod_rewrite activado y funcionando.
Sin embargo, al intentar introducir una expresión que cambie mis url, no sucede nada.
He probado miles de ejemplos de diferentes páginas, tutoriales, etc. Incluídos por supuesto muchos de este mismo foro.
Lo que busco es sencillo; una vez que lo tenga ya podré preocuparme de hacerlo más sofisticado.
Quiero cambiar de esto "www.miweb.com/perfil.php?usuario=Gonzalo"
a algo como "www.miweb.com/usuario/Gonzalo
o "www.miweb.com/perfil/usuario/Gonzalo
me da un poco igual, de momento me conformo con que cambie algo :)
Al final, solo me quedan dos conclusiones posibles:
- Algo hago mal (lo más probable pues acabo de empezar en este tema)
- Mi servidor (cPanel) tiene algunas funciones capadas (dudoso... pero ¿posible?)
Para mejor ilustración de mi problema, adjunto mi código .htaccess:
Código .htaccess:
Ver original
Options +FollowSymLinks RewriteEngine On AddDefaultCharset utf-8 AddCharset utf-8 .html .php #añade www al principio de la dirección aunque el usuario no lo haga RewriteCond %{HTTP_HOST} ^gamebaloo\.com RewriteRule (.*) http://www.gamebaloo.com/$1 [R=301,L] #al colocar una palabra en la url, enlaza al contenido .php si existe (ejemplo, al poner "gamebaloo.com/contacto" redirige a "gamebaloo.com/contacto.php") RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}.php -f RewriteRule ^(.+)$ $1.php [L,QSA] #un ejemplo que no funciona RewriteBase / RewriteRule ^(.*)/(.*)\.html perfil.php?$1=$2 [L] #otro ejemplo que no funciona RewriteBase / Rewriterule ^usuario/(.+) perfil.php?usuario=$1 #etc