2012-06-07 4 views
1

.htaccess 젠드 프레임 워크 구성에 문제가 있습니다. 내 로컬 서버에서는 내가 그것을 여기 403 Forbidden젠드 프레임 워크 리눅스 서버 구성

을 보여줍니다 라이브 서버에서 실행하려고 할 때 아파치와 윈도우 7

를 실행하지만,하는 확인 작업되어 내 htaccess로 구성입니다

Options +FollowSymLinks 

RewriteEngine On 

RewriteRule ^\.htaccess$ - [F] 

RewriteCond %{REQUEST_URI} ="" 
RewriteRule ^.*$ /public/index.php [NC,L] 

RewriteCond %{REQUEST_URI} !^/public/.*$ 
RewriteRule ^(.*)$ /public/$1 

RewriteCond %{REQUEST_FILENAME} -f 
RewriteRule ^.*$ - [NC,L] 

RewriteCond $1 !^(favicon\.ico|favicon\.png|media|robots\.txt|crossdomain\.xml|css|js) 
RewriteRule ^public/.*$ /public/index.php [NC,L] 

Options -Indexes 
+0

'ALL ALL FROM ALL'을 추가 했습니까? – JudeJitsu

+0

.htaccess 파일에 의미가 있습니까 – Akram

+0

예. .htaccess 파일에 추가하고 다시 시도 할 수 있습니까? – JudeJitsu

답변

0

거의 항상이 이유는 Apache 사용자가 해당 파일에 대한 읽기 권한을 가지고 있지 않기 때문입니다.

+0

그래서, 가능하게 할 수 있습니다 .htaccess 권한을 777로 설정하면됩니다. – Akram

+0

.htaccess뿐만 아니라 응용 프로그램의 모든 파일 용입니다. ACL을 사용하여 수행 할 수 있습니다 (VPS에서 사용하지 못할 수도 있음).) 또는 그냥 chmoding. – Gediminas

+0

/public/모든 것을 사용하여 액세스하려고하면 제대로 작동하지 않습니다. – Akram

0

.htaccess 규칙을 단순화하면 올바르게 작동 할 수 있다고 생각합니다. 당신의 젠드 프레임 워크 index.php 파일이 public_html/public 오픈 httpd.conf 또는 httpd-vhosts.conf에 아마 때문에

구성에 따라, 그리고 DocumentRoot/public를 추가합니다.

이렇게하면 public이 웹 액세스 가능 디렉토리가되고 ZF 응용 프로그램 파일을 포함하여 그 아래의 모든 항목이 보호됩니다.

당신이 변경 한 후, 표준 젠드 프레임 워크 재 작성 규칙을 사용하여 .htaccess 파일의 모든 대체 : 다음 항목의 모든 일이 제대로 그렇지 않으면 작동하지 않을 수 있습니다으로 해당 있는지 확인하십시오, 또한

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ index.php [NC,L] 

를 :에 대한 httpd.conf

  • 에으로 public_html 디렉토리

    • 세트 AllowOverride All chmod를 644 대부분의 디렉토리의 index.php에서
    • APPLICATION_PATH에 대한모든 PHP 스크립트, 755 도움이

    희망 맞습니다.

  • +0

    문제는 httpd.conf 또는 httpd-vhosts.conf 파일이 로컬 서버에서만 라이브 서버 (호스팅)에있는 경우에만 액세스 할 수 있다는 것입니다. 이 두 파일에 액세스 할 수 없습니다. – Akram

    +0

    두 번째로, 어떤 파일에도 직접 작동하지 않습니다. 난 그냥 루트 디렉토리에 test.php 파일을 만듭니다 – Akram

    +0

    그 경우, 모든 파일 (index.php, .htaccess)'public_html/public'에서'public_html'로 옮깁니다. 모든 ZF 파일 ('library','application','docs' 등)을'public_html' 위의 하나의 디렉토리로 옮깁니다. 그런 다음'.htaccess' 파일을 위의 표준 .htaccess 파일로 대체하십시오. – drew010