Frage

Ich habe meine Bewerbung Einstiegspunkt wie diese.

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

Und anwendungsspezifischen Ordner unter / app /

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

Jeder Anwendungsordner cotains anwendungsspezifische Dateien.

Ich möchte alle Anfragen Unders App passieren /app/index.php passieren.

Damit.

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

Auf meiner lighttpd Testmaschine kann ich es leicht durch eine Regel wie diese zu schreiben.

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

Jetzt muss es auf Apache funktioniert .htaccess und mod_rewrite.

Aber egal was ich tue, es funktioniert nicht.

Ich schrieb in /app/.htaccess

RewriteEngine on
RewriteRule .* index.php [QSA]

Es funktioniert für / app / und / app / todo / aber nicht für / app / todo / Liste / heute zum Beispiel.

Jeder kann eine Idee geben Sie mir, wie es zu tun?

War es hilfreich?

Lösung

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

Was dies bedeutet ist, wenn die Anforderung keine Dateinamen oder ein Verzeichnis ist, schreiben sie index.php. Dann $_SERVER[REQUEST_URI] überprüfen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top