2012-02-06 5 views
1

젠드 프레임 워크가 내 서버의 하위 도메인과 잘 작동하는 데 문제가 있습니다. 우분투 11.10에서 실행되는 램프 스택을 가지고 있으며, 내 영역 레코드를 정의한 곳에서 동적 DNS 서비스를 사용하고 있습니다. 따라서 기본적으로 내 DNS는 다음과 같이 설정됩니다.Zend Framework with subdomains

DNS : 하나의 회사에 등록되어 있으며 내 도메인 이름을 동적 DNS의 이름 서버로 지정합니다. 동적 DNS 호스트와

나는 A 형의 3 개 정의 영역 레코드가 있습니다

mydomain.com 000.00.0.0 
www.mydomain.com 000.00.0.0 
*.mydomain.com 000.00.0.0 <-- wildcard to catch all subdomains 

아파치 설정 : /etc/apache2/sites-available에서

을 ::/사이트 사용 나는 내 기본 설정을 가지고 을 mydomainmysubdomain.mydomain.com

/var/www 또 다른 가상 호스트 : 나는 mydomain.com/pub이 LIC의 문서 루트로의/var/www /에서 공용 폴더

/var/www/mysubdomain : 나는 mysubdomain.mydomain.com 루트로 /var/www/mysubdomain/public 폴더를 사용했다

는 내가 제대로 www.mydomain.com에 대한 요청을 처리하기 때문에이 모든 것이 올바르게 설정되어 생각하고, 또한 www.mysubdomain.mydomain.com에 대한 모든 요청을 올바르게 처리합니다.

하지만 나는 다음과 같은 메시지가 서버에서 찾을 수 없음 (404)를 발행하고 www.mysubdomain.mydomain.com/:controller 또는 www.mysubdomain.mydomain.com/:controller/:action 같은 요청을 할 때 :

The requested URL /controller/action was not found on this server.

임이 내의 .htaccess에 문제가있다 생각 설치

내 htaccess로에서 다음과 같은 방법 :

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule .* index.php 

문제는 현재 액세스하려는 응용 프로그램이 설치되어 있고 www.mysubdomain.com과 같은 정상적인 도메인으로 액세스되는 경우 모두 작동합니다.

답변

1

나는 다음의 .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] 

은 아마 당신은 시도하고 결과를 제공 할 수 있습니다.

+0

zip 용 기본 권장 .htaccess 인 – John

+0

을 올바르게 기억하고 있기 때문에 .htaccess와 함께 500 내부 서버 오류가 발생합니다. 를/public 폴더에 넣고 액세스 할 수 있는지 확인하십시오. 아니면 당신도 그걸로 500을 받고 있습니까? – Goeran

+0

httpd.conf에서 가상 호스트의 AllowOverride FileInfo를 설정 했습니까? .htaccess 파일에 다시 쓰기 엔진을 사용 권한을 부여하는 데 필요합니다. – Goeran