2011-08-18 31 views
8

Estoy usando CodeIgniter y acabo de instalar una pila LAMP en un servidor de nube Ubuntu 10.10..htaccess no funciona aunque allowoverride está habilitado

Todo funciona estupendamente, y tengo habilitado el módulo de usuario de Apache para que mi directorio de inicio se encuentre en el /home/myapp/public_html, y accedo al servername/~myapp.

Desafortunadamente, .htaccess reescribir no parece estar funcionando - se produce un 404 diciendo the file /home/myapp/public_html/index.php no se pudo encontrar - un error 404.

Mod_rewrite está habilitado.

Soy consciente de que debe configurar la directiva AllowOverride All - Lo tengo configurado en /etc/apache2/sites-enabled/default - pero parece que la reescritura no funciona correctamente.

Mi archivo .htaccess simplemente contiene:

RewriteEngine on 
RewriteCond $1 !^(index.php|img|stylesheets|js|icons|robots\.txt|user_guide) 
RewriteRule ^(.*)$ index.php/$1 [L] 

Y mi /etc/apache2/sites-available/default se parece a:

<VirtualHost *:80> 
ServerAdmin [email protected] 

DocumentRoot /var/www 
<Directory /> 
     Options FollowSymLinks 
     AllowOverride ALL 
</Directory> 
<Directory /var/www/> 
     Options Indexes FollowSymLinks MultiViews 
     AllowOverride ALL 
     Order allow,deny 
     allow from all 
</Directory> 
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ 
<Directory "/usr/lib/cgi-bin"> 
     AllowOverride All 
     Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch 
     Order allow,deny 
     Allow from all 
</Directory> 

ErrorLog ${APACHE_LOG_DIR}/error.log 

Y, por último, /etc/apache2/mods-enabled/userdir.conf parece:

<IfModule mod_userdir.c> 
     UserDir public_html 
     UserDir disabled root 

     <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> 
</IfModule> 

He estado buscando en Google y jugueteando durante horas, ¿alguien puede ayudar, por favor?

Respuesta

14

Por lo que vale, tuve un problema muy similar con Ubuntu Server 11.10 y LAMP. Que tenía que ejecutar el comando

sudo a2enmod rewrite 

la que hizo el truco para mí. Tal vez sea la solución para ti o para otras personas que vienen aquí.

+0

Esto también funcionó para mí .... Usando laravel con Ubuntu 10.10 teniendo el mismo problema ... – ftrotter

+0

Este problema me surgió también en ubu 12.04LTS, funcionó !!, me alegro de tener algo así como stackoverflow! – Mazzy

+0

Me alegra ayudar :) – jonas

Cuestiones relacionadas