문제

이와 같은 응용 프로그램 입력 지점이 있습니다.

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

/app /아래의 응용 프로그램 특정 폴더

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

각 응용 프로그램 폴더는 응용 프로그램 특정 파일을 Cotains합니다.

/app/index.php를 통과하기 위해 모든 요청 앱을 전달하고 싶습니다.

하도록 하다.

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

LightTPD 테스트 머신에서는 이와 같은 규칙을 작성하여 쉽게 할 수 있습니다.

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

이제 .htaccess 및 mod_rewrite를 사용하여 Apache에서 작동하도록해야합니다.

그러나 내가 무엇을하든 그것은 작동하지 않습니다.

나는 /app/.htaccess에 다음을 썼습니다

RewriteEngine on
RewriteRule .* index.php [QSA]

/app/및/app/todo/에서 작동하지만/app/todo/list/오늘은 실패합니다.

누구든지 어떻게하는지 알 수 있습니까?

도움이 되었습니까?

해결책

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

이것이 요청이 파일 이름이나 디렉토리가 아닌 경우 index.php로 다시 작성하는 것입니다. 그런 다음 확인하십시오 $_SERVER[REQUEST_URI].

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top