Apache가 Lighttpd url.rewriteonce에 해당합니까?
-
13-09-2019 - |
문제
이와 같은 응용 프로그램 입력 지점이 있습니다.
/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]
.
제휴하지 않습니다 StackOverflow