Apache mod_rewrite y usando RewriteRule para los directorios

  • samir22
  • Born
  • Born
  • No Avatar
  • Registrado: Sep 10, 2010
  • Mensajes: 2
  • Status: Offline

Nota Septiembre 10th, 2010, 3:32 pm

¡Hola!
Tengo una pregunta.
Im usando marco Yii, y estoy tratando de encontrar la manera de configurar dos aplicaciones en un solo proyecto.
Hasta aquí todo bien, en la parte de código, creo que lo conseguí trabajo.
Sin embargo, mi falta de conocimiento fuerte en mod_rewrite se cobra su peaje, y la identificación gustaría saber si alguien me puede ayudar, no debe ser muy difícil para los gurús de Apache que hay.

Heres mi. Htaccess hasta el momento:

Código: [ Select ]
Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on

# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# otherwise forward it to index.php
RewriteRule . index.php
  1. Options +FollowSymLinks
  2. IndexIgnore */*
  3. RewriteEngine on
  4. # if a directory or a file exists, use it directly
  5. RewriteCond %{REQUEST_FILENAME} !-f
  6. RewriteCond %{REQUEST_FILENAME} !-d
  7. # otherwise forward it to index.php
  8. RewriteRule . index.php


Ahora, este rutas todas las peticiones en el índice principal. archivo php que determins qué hacer a continuación.
¿Qué id gustaría saber, ¿qué norma es que tengo que configurar de modo que cuando / admin se encuentra en la url,
para redirigir al índice-admin.php en lugar de index.php

Así que, básicamente, si la url es como: / admin o / admin / algo .*, al punto de índice-admin.php, de lo contrario para que apunte a index.php, como ahora.

si alguien puede ayudar id estar agradecidos.
gracias
  • Anonymous
  • Bot
  • No Avatar
  • Registrado: 25 Feb 2008
  • Mensajes: ?
  • Loc: Ozzuland
  • Status: Online

Nota Septiembre 10th, 2010, 3:32 pm

  • Bigwebmaster
  • Site Admin
  • Site Admin
  • Avatar de Usuario
  • Registrado: Dic 20, 2002
  • Mensajes: 8922
  • Loc: Seattle, WA & Phoenix, AZ
  • Status: Offline

Nota Septiembre 13th, 2010, 12:16 pm

Por encima de su:

Código: [ Select ]
RewriteRule . index.php


Sólo hay que poner algunas reglas en el que le gustaría. Esta norma tiene allí con el único período es básicamente como un cajón de sastre que dice volver a escribir las URL de index.php. Sin embargo, para los de arriba que usaría algo más específico y utilice algo como:

Código: [ Select ]
RewriteRule ^admin/.* index-admin.php [L,NC]


Eso sería decir que nada en el directorio de administración reescribir al índice-admin.php. En la última parte donde dice que [L, NC], la L significa básicamente esta es la última reescritura, no de seguir adelante, se detiene allí, y la NC significa ignorar el caso. Así que al final tendría que algo como esto:

Código: [ Select ]
Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on

# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# additional rules
RewriteRule ^admin/.* index-admin.php [L,NC]

# otherwise if nothing matches above forward it to index.php
RewriteRule . index.php
  1. Options +FollowSymLinks
  2. IndexIgnore */*
  3. RewriteEngine on
  4. # if a directory or a file exists, use it directly
  5. RewriteCond %{REQUEST_FILENAME} !-f
  6. RewriteCond %{REQUEST_FILENAME} !-d
  7. # additional rules
  8. RewriteRule ^admin/.* index-admin.php [L,NC]
  9. # otherwise if nothing matches above forward it to index.php
  10. RewriteRule . index.php
Ozzu Hosting - Want your website on a fast server like Ozzu?
  • samir22
  • Born
  • Born
  • No Avatar
  • Registrado: Sep 10, 2010
  • Mensajes: 2
  • Status: Offline

Nota Septiembre 14th, 2010, 12:23 am

Hola.
Gracias por responder.
El problema es que trató de su código y que no funcionará.
Heres mi estructura de directorios

prueba
. Htaccess
index.php
index-admin.php

Tengo una máquina virtual para: test.localhost, con prioridad sobre todos los permiten

He probado el código, cuando escribo en test.localhost / admin, siendo el index.php se devuelve
  • Bigwebmaster
  • Site Admin
  • Site Admin
  • Avatar de Usuario
  • Registrado: Dic 20, 2002
  • Mensajes: 8922
  • Loc: Seattle, WA & Phoenix, AZ
  • Status: Offline

Nota Septiembre 27th, 2010, 11:40 am

La forma en que escribió el código anterior, el enlace tendría que tener la barra diagonal inversa final al respecto y cualquier cosa en virtud de que funcionaría. Si usted escribe simplemente como:

test.localhost / admin

que no coinciden. Si ha escrito alguna de estas:

test.localhost / admin /
test.localhost / admin / somepage.php

Que todos deben trabajar. Si quieres que funcione sin la final / , Usted tendrá que quitar que desde el RewriteRule.
Ozzu Hosting - Want your website on a fast server like Ozzu?

Publicar Información

  • Total de mensajes en este tema: 4 mensajes
  • Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 118 invitados
  • No puede abrir nuevos temas en este Foro
  • No puede responder a temas en este Foro
  • No puede editar sus mensajes en este Foro
  • No puede borrar sus mensajes en este Foro
  • No puede enviar adjuntos en este Foro
 
 

© 2011 Unmelted, LLC. Ozzu® es una marca registrada de Unmelted, LLC