2011-08-18 19 views
8

Używam CodeIgniter i właśnie zainstalowałem stos LAMP na serwerze w chmurze Ubuntu 10.10..htaccess nie działa, mimo że allowoverride jest włączone

Wszystko działa dobrze, a ja mam włączony moduł userdir Apache, więc mój katalog domowy znajduje się pod numerem /home/myapp/public_html i uzyskuję do niego dostęp, przechodząc na servername/~myapp.

Niefortunne, .htaccess Przepisanie nie działa - powoduje 404 powiedzenie the file /home/myapp/public_html/index.php nie można znaleźć - błąd 404.

Mod_rewrite jest włączony.

Jestem świadomy, że musisz ustawić dyrektywę AllowOverride All - Mam ją ustawioną w /etc/apache2/sites-enabled/default - ale przepisanie nie działa poprawnie.

Mój plik .htaccess prostu zawiera:

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

A moja /etc/apache2/sites-available/default wygląda następująco:

<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 

I wreszcie, /etc/apache2/mods-enabled/userdir.conf wygląda następująco:

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

Byłem googlowania i błąkając się przez wiele godzin, czy ktoś może pomóc?

Odpowiedz

14

Co jest warte, miałem bardzo podobny problem z Ubuntu Server 11.10 i LAMP. Musiałem uruchomić polecenie

, która zrobiła dla mnie sztuczkę. Może to rozwiązanie dla ciebie lub innych osób, które tu przychodzą.

+0

To również zadziałało dla mnie .... Używanie laravel z Ubuntu 10.10 mając ten sam problem ... – ftrotter

+0

Ten problem pojawił się też na ubu 12.04LTS, zadziałało !!, cieszę się, że mamy coś takiego jak stackoverflow! – Mazzy

+0

Cieszę się, że mogę pomóc :) – jonas