2009-10-14 5 views
1

CodeIgniter를 사용하여 다운로드 할 수있는 자체 호스팅 웹 응용 프로그램을 만들고 있습니다. 하위 디렉토리에 있는지 여부를 알 수 있도록 .htaccess 다시 쓰기 규칙이 필요합니다. 다시 쓰기 규칙을 올바르게 작성하십시오. 응용 프로그램이 example.com에 설치되는 경우, 다른 한편으로는,이 example.com/subdir에 설치되어, 경우.htaccess 다시 쓰기 규칙을 자동으로 하위 디렉토리로 만들기

예를 들어, 쓰기 규칙은 그 다음,

RewriteRule ^(.*)$ /index.php/$1 [L] 

모양을 어떻게 보입니까

RewriteRule ^(.*)$ /subdir/index.php/$1 [L] 

어떻게하면됩니까? 그것들을 하나의 "똑똑한"규칙으로 결합 할 수있는 방법이 있습니까? 아니면 .htaccess 파일을 다운로드 할 때 번들을 설치하는 대신 프로그램 설치 중에 프로그래밍 방식으로 생성해야합니까?

답변

4

간단히 교체에 상대 경로를 사용하려고 :

RewriteCond $1 !^index\.php/ 
RewriteRule ^(.*)$ index.php/$1 [L] 
+0

첫 번째 줄은 정확히 무엇을 할 않습니다? –

+1

@mcrittenden : 추가 조건은'index.php /'가 무한 재귀를 피하기 위해 재 작성되지 않도록 제외하는 것입니다. – Gumbo

0

는이

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^/]*)$ /index.php/$1 [L] 
관련 문제