2012-01-05 6 views
7

ho bisogno di riscrivere le regole nella mia installazione di EasyPHP su Windows 7.regole .htaccess EasyPHP

ho bisogno di assicurarsi che le regole siano caricati correttamente e non ho per creare tonnellate di regole. inoltre, quando copio il file .htaccess sul mio server (che è Linux) voglio assicurarmi che funzioni correttamente.

non ho alcuna esperienza con questo ed ecco cosa ho trovato diging internet:

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

ora, se ho la pagina di base come 'Contattateci' il suo ok, ma se ho sottopagine non è così . come posso creare sottocartelle?

grazie

risposta

11

Ecco cosa dovete fare:

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] 

Questo vi permetterà di avere pagine come:

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 

/? intende la barra è facoltativa

[NC] Questo rende il test case-insensitive - differenze tra 'A-Z' e 'a-z' vengono ignorati, sia nella TestString espanso e il CondPattern. Questo flag è efficace solo per i confronti tra TestString e CondPattern. Non ha alcun effetto sul controllo del filesystem e dei subrequest.

[L] Il flag [L] causa il mod_rewrite per interrompere l'elaborazione del set di regole. Nella maggior parte dei contesti, ciò significa che se la regola corrisponde, non verranno elaborate ulteriori regole.

Tutte le informazioni sui flag e le regole: http://httpd.apache.org/docs/current/mod/mod_rewrite.html

+0

quindi questa regola funziona in Windows e Linux? –

+1

sì, assicurati che il mod_rewrite sia abilitato e dovresti essere tutto pronto. –

+0

bello da sentire, grazie ancora –

Problemi correlati