2012-01-05 17 views
7

i necesidad de reescribir las reglas en mi instalación de easyphp en Windows 7.reglas .htaccess EasyPHP

necesito para asegurarse de que las reglas están cargados correctamente y no tenga que crear un montón de reglas. Además, cuando copie el .htaccess a mi servidor (que es Linux) quiero asegurarme de que funciona correctamente.

no tengo experiencia con esto y esto es lo que encontré diging internet:

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

ahora, si tengo página básica como 'contacto-nosotros' está bien, pero si tengo subpáginas no lo hace . ¿Cómo puedo crear subcarpetas?

gracias

Respuesta

11

Esto es lo que tiene que hacer:

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] 

Esto le permitirá tener páginas como:

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 

/? Los medios de barra es opcional

[NC] Esto hace que el caso-insensible prueba - diferencias entre 'A-Z' y 'a-z' son ignorados, tanto en el TestString expandido y el CondPattern. Este indicador es efectivo solo para comparaciones entre TestString y CondPattern. No tiene ningún efecto sobre el sistema de archivos y las comprobaciones de subrequest.

[L] El indicador [L] hace que mod_rewrite deje de procesar el conjunto de reglas. En la mayoría de los contextos, esto significa que si la regla coincide, no se procesarán más reglas.

Toda la información acerca de las marcas y reglas: http://httpd.apache.org/docs/current/mod/mod_rewrite.html

+0

por lo que esta regla funciona en Windows y Linux? –

+1

sí, solo asegúrate de que mod_rewrite esté activado y deberías estar todo listo. –

+0

genial para escuchar, gracias de nuevo –

Cuestiones relacionadas