Acceso al directorio

Estoy escribiendo una aplicación web usando el marco codeigniter. Aquí está la estructura de la raíz del documento.

application
system
website

Lo que quiero es que solo se pueda acceder al directorio del sitio web. Aquí está el contenido de .htaccess

RewriteEngine on
RewriteBase /

RewriteCond %{REQUEST_URI} !^/website/
RewriteRule .* /website/%1 [QSA]

Cuando escribo la URL del sitio en el navegador, soy redirigido al directorio del sitio web. Hasta aquí todo bien. Funciona. El problema surge cuando intento acceder a un directorio dentro del directorio del sitio web. yo obtengo

404 page not found

¿Qué hacer para que los directorios debajo del directorio del sitio web sean accesibles?

preguntado el 02 de mayo de 12 a las 19:05

2 Respuestas

Esta es la regla que necesitas:

RewriteRule (?!^website(/.*|)$)^.*$ website%{REQUEST_URI} [L,NC]

contestado el 02 de mayo de 12 a las 19:05

Eso funciona, pero ¿es posible que la URL se vea como foobar.com/activos donde los activos están debajo del directorio del sitio web. Con el código que me sugieres obtengo foobar.com/website cuando intento acceder foobar.com y foobar.com/website/assets - jo3

Sí, es posible eliminando R bandera, por favor revise mi respuesta editada ahora. - anubhava

Trata

RewriteEngine on
RewriteBase /

RewriteCond $1 !^website
RewriteRule ^(.*)$ website/$1 [L]

contestado el 02 de mayo de 12 a las 19:05

Aparece "La solicitud superó el límite de 10 redireccionamientos internos debido a un posible error de configuración. Use 'LimitInternalRecursion' para aumentar el límite si es necesario. Use 'LogLevel debug' para obtener un seguimiento" - jo3

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.