2012-11-15 3 views
3

Windows 7 64 비트 (아마도 중요하지 않음)를 사용 중이며 xampp이 설치되어 있습니다. 내 htdocs/디렉토리에는 프로젝트가 하나 이상 있습니다. 이제 그들 중 하나 (htdocs/test /라고 말하자)에서 "example"이라는 가상 호스트를 만들었습니다. 내가 여기에 몇 가지 내 시스템을 사용하고 있기 때문에 여기에 내 index.php 페이지로 모든 트래픽을 리디렉션 할로컬 호스트의 xampp에서 다시 쓰기 모드 사용

RewriteEngine on 

RewriteBase /test 
Options +FollowSymLinks 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_URI} !(.*)\.(js|gif|jpeg|jpg|png)$ 
RewriteRule . index.php 

: 그리고 잘 작동 ... 는 디렉토리/테스트 내부/나는이 코드 htaccess로 파일이 전체 프로젝트 인덱스 페이지에서 시작합니다. httpd.conf, 나는 rewrite_module을 사용할 수 있으며

<Directory "C:/Program Files/xampp/htdocs"> 

안에 나는 AllAllowOverride 지침을 변경했습니다.

이제 내가 말했듯이, 내가 만든 가상 호스트 "예"로 프로젝트에 액세스하려고 할 때 이것은 잘 동작합니다. 내 htdocs에 dir을 내부에 다른 프로젝트에 액세스하려고 할 때, 나는 로그 파일에 내부 서버 오류 (HTTP 500)이 메시지를 얻을 :

또한
[Thu Nov 15 11:07:12 2012] [error] [client 127.0.0.1] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace. 

, 내가 URL 127.0.0.1 또는 localhost 입력하면, 나는 "예"가상 호스트로 정의 된 프로젝트를 얻는다 ... 이것은 꽤 혼란 스럽다.

+0

Apache 2.2를 사용하는 경우 LogLevel을 debug로 설정해도 도움이되지 않습니다. 그 주위를 돌아 다니기 위해서는 vhost 지시어에 다음 지시문을 추가해야합니다. 'RewriteLog "logs/myvhost.rewrite.log" RewriteLogLevel 1'; rewriteloglevel은 아파치에게 얼마나 자세한 정보를 알려주고 0 (아무것)에서 9 (모든 것)로 이동합니다. 필요에 따라 myvhost.rewrite.log를 변경하십시오. –

+0

가상 호스트의 DocumentRoot는 어느 디렉토리입니까? –

+0

'test '와 다른 프로젝트에 대한 가상 호스트 구성을 제공 할 수 있습니까? – Jon

답변

0

루트 및 하위 디렉토리 htaccess 파일이 충돌하는 것 같습니다. 루트 htaccess 파일에서 하위 디렉토리 처리를 제외하고 [L]ast rule 지시어를 사용해야합니다.

루트 HTACCESS - "test"하위 디렉토리를 제외하고 [L] ast 규칙 지시문을 사용하십시오.

Options +FollowSymLinks 

RewriteEngine on 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_URI} !(.*)\.(js|gif|jpeg|jpg|png)$ 

# exclude the "test" subdirectory 
RewriteCond %{REQUEST_URI} !^(test)/? 

# add [L] 
RewriteRule . index.php [L] 

"테스트"하위 디렉토리의 htaccess로은 - [L] AST 규칙 지시어를 사용합니다.

RewriteEngine on 
RewriteBase /test/ 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_URI} !(.*)\.(js|gif|jpeg|jpg|png)$ 

# add [L] 
RewriteRule . index.php [L]