Pregunta

Tengo mi punto de entrada de la aplicación como ésta.

/app/index.php <-- this is the main dispatcher.

y la aplicación de carpetas específicas en / app /

/app/todo/
/app/calendar/
/app/bugtrack/

archivos específicos de cada aplicación cotains carpeta de la aplicación.

Me gustaría transmitir todas las solicitudes unders aplicación para pasar a través de /app/index.php.

Así que eso.

/app/todo/list/today -> goes to /app/index.php
/app/ -> goes to /app/index.php
/app/bugtrack/anything/else goes to /app/index.php

En mi máquina de prueba lighttpd que pueda hacer fácilmente que al escribir una regla como la siguiente.

url.rewrite-once = (
    "^\/app\/todo\/*"   => "/app/index.php",
    "^\/app\/calendar\/*"   => "/app/index.php",
    "^\/app\/bugtrack\/*"   => "/app/index.php",
)

Ahora necesita para que funcione en Apache usando .htaccess y mod_rewrite.

Pero no importa lo que hago, que no está funcionando.

escribí lo siguiente en /app/.htaccess

RewriteEngine on
RewriteRule .* index.php [QSA]

Funciona para / app / y / app / todo / pero no para / app / todo / / Lista de hoy en día, por ejemplo.

Alguien me puede dar alguna idea de cómo hacerlo?

¿Fue útil?

Solución

RewriteEngine On
RewriteBase /app
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]

Lo que esto hace es si la petición no es un nombre de archivo o un directorio, reescribirla a index.php. A continuación, comprobar $_SERVER[REQUEST_URI].

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top