2009-10-01 3 views
0

메신저 내 머리카락을 꺼내.apache mod_rewrite를 강제로 index.php

% {REQUEST_URI}는 기존 문서 밤은 경우 index.php를 통해 실행하는 mod_rewrite를를 사용하는 메신저 :

:

#Any request (page) which doesnt exist (item pages, special urls, categories etc) 
#get routed through urlparse, where PHP takes over nicely 
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f 
RewriteRule (.*) urlparse.php?url=$1 [L] 

내가을 규정하고이 일하기 전에 규칙을 원하는 계정에이를 복용

if %{REQUEST_URI} is empty then pretend it is index.php 

나의 이해는

http://www.server.com/ 
,536 같은 URL입니다

다음 % {REQUEST_URI}는 무엇인가/무엇이든 ""% {REQUEST_URI}를

http://www.server.com/something/whatever 

절, ""(빈 문자열)입니다.

도움을 주셔서 감사합니다.

+0

는 (404) 문서로 index.php를 사용하는 아파치를 알 수있는 방법이 없을까? 재작 성하지 않고이 일을하지 않겠습니까? –

+0

네,하지만이 특별한 상황에 도움이되는 경우 - 카테고리 중 하나가 실제로 빈 문자열 ("http://www.server.com/"이 카테고리 "신발"원인 "신발"URL 인 경우 "빈 문자열) mysql에서). % {REQUEST_URI}가 비어 있다면 index.php를 강요하여 그 상황을 확실하게 피하고자했습니다. –

답변

1

간단히 :

RewriteRule ^$ index.php 
+0

많이 감사합니다. 나는 규칙에 [L]을 추가하여 아파치가 다른 규칙을 해석하지 못하도록 막아야했지만, 스트레스 두통을 덜어 줬다. –