2014-04-01 22 views
6

Używam apache2 (mój serwer fikcyjny), który jest już zainstalowany z moim Debianem. Każda rzecz idzie dobrze, ale teraz problem z moim .htaccess.htaccess nie działa w systemie Linux (Debian) Apache2

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-l 
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L] 

To nie działa
myślę jego powodu apache2 wersję których używam & być może problemy z mojego kodu lub coś, co muszę config na moim serwerze

Chcę przekierować moja url do głównej strony indeksu jeśli jego niewłaściwy wpis lub niedostępny

+0

Co dokładnie próbujesz zrobić z adresami URL? Zmienić z czego do czego? Również dlaczego masz dwa "RewriteCond% {REQUEST_FILENAME}! -f" tych w swoim kodzie? – Howli

+0

Druga to {REQUEST_FILENAME}! -l –

+0

OK, a co z adresem URL? Od czego to się zmienia i zmienia? – Howli

Odpowiedz

1

ten kod:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-l 
RewriteRule ^(.*)$ /index.php?url=$1 [QSA,R] 

przekieruje http://example.com/test.php do http://example.com/index.php?url=test.php jeśli plik nie istnieje. Jedyną różnicą między moim kodem tutaj a twoim jest to, że mam [R] zamiast [QSA, L] Jeśli to nadal nie działa dla ciebie i masz plik htaccess w folderze głównym, nie sądzę, że to jest problem

+0

Już próbowałem z/mvc/index jej nie działa –

24

plik .htaccess Po spędzeniu całego dnia, mam moją odpowiedź

W folderze
apache2 >>witryn-available >> Istnieje plik o nazwie domyślny

W domyślnie musimy to zmienić

Od:

<Directory /var/www/> 
     Options Indexes FollowSymLinks MultiViews 
     AllowOverride None 
     Order allow,deny 
     allow from all 
    </Directory> 

TO:

<Directory /var/www/> 
    Options Indexes FollowSymLinks MultiViews 
    AllowOverride All 
    Order allow,deny 
    allow from all 
</Directory> 

Jego pracy. Umożliwia korzystanie z plików .htaccess.

+3

Thx, thats pracy. Ale zmieniłem go dla Debiana w /etc/apache2/apache2.conf – MoonYard

+0

Mam notatkę na temat 'Indexes' tutaj. Pozwolę użytkownikom przeglądać twoje foldery image/css/js. – Bira

7

Chciałbym dodać, że /etc/apache2/mods-available/rewrite.load musi być włączona:

a2enmod rewrite 

Na Debianie myślałem, że to domyślnie włączona, ale kopalnia nie było.