2014-07-09 6 views
1

내 모든 경로를 development.local/web/index.php 파일로 리디렉션하려면이 htaccess 코드를 development.local/web/디렉토리에 있습니다..htaccess가 /index.php로 리디렉션되지 않음

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase /web 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^(.*)$ /index.php?url=$1 [QSA,L] 
</IfModule> 

현재 저는 development.local/web /을 기본 URL로 사용하고 있습니다. 그래서 모든 경로는 현재 development.local/web/index.php로 리디렉션되어야합니다. development.local/web /를 제외한 모든 URL이 제대로 리디렉션됩니다. 그러면 503 개의 금지 된 오류가 발생합니다.

+0

당신이 RewriteBase/web''이 이유는 무엇입니까? – anubhava

+0

예, 내 프로젝트의 모든 파일은 development.local/web/ –

+0

에 저장되어 있습니다. 그러나''development.local/foo/bar'에'/ web /'이 없습니다. '/ web'이 DocumentRoot입니까? – anubhava

답변

3

대부분 DirectoryIndex 설정이 없습니다.

당신의 .htaccess에 두십시오 :

DirectoryIndex index.php 
RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L] 
+1

첫 번째 시도에서 멋진 문제 해결 - 과감한 눈, +1 :) – zx81

관련 문제