Para habilitar las urls limpias en un Drupal 7 instalado en un directorio de usuario de Apache (con el módulo mod_userdir activado), tendremos que hacer lo siguiente
Verificar que tenemos habilitados los módulos de Apache ‘mod_rewrite’ y ‘mod_userdir’. Para ello comprobaremos que en el fichero /etc/httpd/conf/httpd.conf
están descomentadas las líneas
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule userdir_module modules/mod_userdir.so
Indicar en nuestro fichero .htaccess dónde está instalado Drupal, modificando el fichero ~/public_html/drupal7test/.htaccess
. Buscamos la linea con RewriteBase y la descomentamos, poniendo a continuación el directorio en el que tenemos instalado Drupal, en mi caso la línea queda así:
RewriteBase ~/public_html/drupal7test
Permitir la actuación del módulo mod_rewrite en nuestro directorio de usuario; para ello modificaremos el fichero /etc/httpd/conf/extra/httpd-userdir.conf
de forma que quede activado el AllowOverride:
UserDir public_html
<Directory "/home/*/public_html">
AllowOverride All
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS>
Order deny,allow
Deny from all
</LimitExcept>
</Directory></code>
Más información sobre las url’s limpias en la página de Drupal.
Las instrucciones anteriores sirven literalmente para Archlinux, si se hace en otra distribución de Linux es muy posible que los directorios donde se ubiquen los ficheros de configuración sean distintos. Para localizarlos, deberemos utilizar el comando (como root):
find /etc -name <nombre del fichero>