2012-01-05 15 views
7

muszę przepisać zasady w mojej instalacji EasyPHP na windows 7.EasyPHP zasady .htaccess

muszę się upewnić, że zasady są ładowane poprawnie i nie trzeba tworzyć ton zasad. także, kiedy kopiuję .htaccess na mój serwer (który jest linuxem) chcę się upewnić, że działa poprawnie.

mam żadnego doświadczenia z tym i oto co znalazłem diging internet:

RewriteRule (.*) index.php?s=$1 

teraz, czy mam podstawową stronę jak „contact-us” jest ok, ale jeśli mam podstrony nie robi . jak mogę utworzyć podfoldery?

dziękuję

Odpowiedz

11

Oto co trzeba zrobić:

RewriteEngine On 
RewriteBase/
RewriteRule ^([a-z0-9_\-]+)/?$ index.php?main=$1 [NC,L] 
RewriteRule ^([a-z0-9_\-]+)/([a-z0-9_\-]+)/?$ index.php?main=$1&sub=$2 [NC,L] 

To pozwoli Ci mieć takich stron:

http://www.domain.com/mainpage/ or 
http://www.domain.com/mainpage or 
http://www.domain.com/mainpage/subpage/ or 
http://www.domain.com/mainpage/subpage 

/? Środki ukośnik opcjonalnie

[NC] Dzięki testy od wielkości liter - Różnice między A-Z 'i „a-Z” są ignorowane, zarówno w stanie rozszerzonym TestString i CondPattern. Flaga ta działa tylko w przypadku porównań między TestString i CondPattern. Nie ma wpływu na system plików i kontrole podrzędnych pytań.

[L] Flaga [L] powoduje, że mod_rewrite przestaje przetwarzać zestaw reguł. W większości przypadków oznacza to, że jeśli reguła zostanie dopasowana, żadne dalsze reguły nie zostaną przetworzone.

Wszystkie informacje o flagi i zasad: http://httpd.apache.org/docs/current/mod/mod_rewrite.html

+0

więc zasada ta będzie działać w systemach Windows i Linux? –

+1

tak, po prostu upewnij się, że mod_rewrite jest włączone i powinieneś wszystko ustawić. –

+0

miło słyszeć, jeszcze raz dziękuję –