/ / htaccess url przepisać pomoc - apache, .htaccess, przepisać

pomoc w pisaniu htaccess url - apache, .htaccess, przepisać

Mam następujący przepisany adres URL:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# Rewrite all other URLs
RewriteRule ^(.*)$ index.php?page=$1 [PT,L]

Teraz chcę dodać wyjątek, że jeśli adres URL jest podobny do mysite.com/abc, powinien go zignorować i wszystkie elementy w nim również. mysite.com/abc/dfgs również powinno być wyłączone z tego przepisywania.

Jak mogę to zrobić?

Odpowiedzi:

2 dla odpowiedzi № 1

Jeśli / abc jest istniejącym katalogiem, możesz umieścić tam inny plik .htaccess

RewriteEngine Off

Jeśli to naprawdę tylko jeden ciąg, którego nie chcesz przepisać (czy istnieje, czy nie)

RewriteCond %{REQUEST_URI} !^/abc

nie będzie przepisywać, jeśli żądana ścieżka zaczyna się od "/ abc"

Aby przetestować reguły przepisywania bez zakłócania działania witrynydla zwykłych przeglądarek (nie, że powinieneś być edytowany w środowisku na żywo oczywiście, to jest czysto hipotetyczne :-)), znalazłem następujące bardzo pomocne:

RewriteCond %{REMOTE_ADDR} 12.34.56.78 # <-- where that"s your IP address

0 dla odpowiedzi nr 2

Powinno to zapobiec przepisywaniu, jeśli identyfikator URI zawiera abc. To może, ale nie musi być dokładnie to, czego chcesz. Jeśli nie jest edytowane twoje pytanie.

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

#Rewrite ONLY if the REQUEST does NOT contain abc
RewriteCond %{REQUEST_URI} !abc

# Rewrite all other URLs
RewriteRule ^(.*)$ index.php?page=$1 [PT,L]