2014-02-06 4 views
0

example.com/config 또는 example.com/account/login으로 가면 403 금지됨을 반환합니다.존재하지 않는 파일/URL 반환 403 금지됨

현실에서

, /config/account/loginindex.php로 리디렉션해야하지만, (403)를 제공

내 디렉토리 구조는 다음과 같다 :

/var/www/example 
└─/assets 
└─/bower_components 
└─/node_modules 
└─/partials 
└─/templates 
└─/tests 
└─/vendor 
└─index.php 

이 내 가상 호스트 구성입니다 :

<VirtualHost *:80> 
    ServerName example.com 
    DocumentRoot /var/www/example 

    <DirectoryMatch "^/var/www/example/(?!(assets|partials))\w+"> 
    Require all denied 
    </DirectoryMatch> 

    <Location /> 
    RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule^index.php [QSA,L] 
    </Location> 
</VirtualHost> 
  • 나는 acce를 허용하고 싶습니다. assetspartials을 제외한 모든 폴더에 ss를 추가 했으므로 DirectoryMatch 지시문을 추가 한 것입니다.

  • Slim이라는 PHP 프레임 워크를 사용하므로 Location 및 Rewrite 지시문을 추가해야합니다.

Apache는 내 URL이 디렉토리라고 생각하고 차단합니다. URL을 차단 해제 할 수있는 방법이 있습니까? 추가

+0

htaccess 파일이 있습니까? –

+0

아니요. – Doggo

답변

0

보십시오 : 귀하의 가상 호스트 설정에서 <DirectoryMatch> 컨테이너 위의

<Directory "/var/www/example"> 
    Order Allow,Deny 
    Allow From all 
</Directory> 

. 당신은 아파치 2.4를 사용하고 있기 때문에


, 다음 사용 필요한 모든 :

<Directory "/var/www/example"> 
    Require all granted 
</Directory> 
+0

v2.4에서 v2.2 지시어를 사용할 수 없다고 생각합니다. 나는 "모든 권한 부여 필요"를 사용했지만 여전히 작동하지 않습니다. – Doggo

+0

@EckV 위 편집을 참조하십시오. –

+0

불행히도 작동하지 않습니다. 나는 지시문의 위와 아래에 그것을 추가하려고했습니다. – Doggo

0

당신이 당신의 가상 호스트의 말에 추가 아파치 2.4 시도를 사용하는 경우 :

<Directory /var/www/example> 
Options Indexes FollowSymLinks MultiViews 

# If you want to enable overrides, you should read: 
# http://httpd.apache.org/docs/2.0/mod/core.html#allowoverride 
AllowOverride All 
Require all granted 
Satisfy Any 

Order allow,deny 
Allow from all 
</Directory>