2012-04-23 26 views
5

Tworzę php front controller. to jest mój plik .htaccess.Jak zapobiec jednemu plikowi z przekierowania .htaccess?

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteRule (.*) controller.php [L] 
</IfModule> 

Ten kod przekierować cały URL do controller.php. Muszę unikać przekierowania index.php do controller.php. Wszystkie inne adresy URL powinny przekierowywać do controller.php.

+1

Patrz: http://stackoverflow.com/questions/7210931/htaccess-redirect-all-but-one-page-from-html-to-php – Janaki

+0

@Dubious: thanx –

+0

zapraszamy. utrzymuj aktualizację i wsparcie – Janaki

Odpowiedz

5

Można użyć następującej składni, aby uczynić wyjątek:

RewriteRule name_of_page_to_exclude.php - [L] 

Kreska (-) jest bardzo ważne. [L] zapewnia, że ​​jeśli ta reguła zostanie uruchomiona, to ostatnia zostanie przetworzona. Tak naturalnie, trzeba umieścić go w górnej części pliku .htaccess przed reguły w swoim pytaniu:

RewriteEngine on 
RewriteRule name_of_page_to_exclude.php - [L] 
RewriteRule (.*) controller.php [L] 

documentation ma następujący powiedzieć:

- (myślnik) Myślnik wskazuje, że nie należy wykonywać zamiany (istniejąca ścieżka przechodzi przez nietknięte).

+0

yahh fantastic dr. To działa. thanx dużo. –

0

Dodaj następujący warunek:

RewriteCond %{REQUEST_FILENAME} !-f 

Pozwoli to wszystkie pliki, które rzeczywiście istnieją i zakłada nie zepsuć niczego innego dla innych plików, które już istnieją to.

+0

Thanx dr. Ale to nie jest praca. –

Powiązane problemy