필자는 몇 가지 웹 MVC 애플 리케이션을 PHP로 작성했지만, 젠드 프레임 워크 v1.9.5를 사용하는 가장 좋은 방법을 찾아 내려하고있다.Zend Framework 1.9.5 응용 프로그램에서 .htaccess를 사용해야하는 이유는 무엇입니까?
젠드 프레임 워크 1.9.5 응용 프로그램에서 .htaccess의 역할에 대해 혼란스러워합니다. 저는 젠드 프레임 워크 (Zend Framework)에 관한 많은 자습서, 서적 및 SO 질문을 컨설팅했습니다.하지만 대부분은 .htaccess 파일의 중심 역할에 대해 이야기합니다. 나는 .htaccess를 사용하여 가상 호스트를 지원하고 URL 재 작성을 지원하고 index.php를 거치지 않고 Apache가 정적 파일을 제공 할 수 있도록 허용하지만 현재 실행 중이거나 v1.9.5에서 여전히 필요한지 확실하지 않습니다.
현재 꽤 간단한 (HTML, CSS, jQuery) Zend Framework 응용 프로그램을 작성하고 테스트 용 우분투 서버 9.10 환경에서 Apache 가상 호스트를 만들었습니다. .htaccess 파일을 전혀 사용하지 않았기 때문에 응용 프로그램이 제대로 작동하는 것 같습니다.
내가 이클립스/PDT와 zf.sh 도구를 사용하여 내 응용 프로그램을 만들어 :
는 여기에 지금까지 무슨 짓을했는지. 'zf create project'가 생성 한 공개 디렉토리에 css, images 및 js 디렉토리를 추가했습니다. 이 응용 프로그램은 내 로컬 MAMP 설치에서 제대로 실행됩니다.
서버에서 저는 /usr/local/Zend/share/ZendFramework-1.9.5에 Zend Framework를 설치하고 /usr/local/Zend/share/ZendFramework-1.9.5/library를 'include_path'에 추가했습니다. php.ini에 있습니다.
응용 프로그램을 서버 디렉토리/home/myadmin/public_html/domain [12]/com에 복사했습니다.
Slicehost Virtual Host Setup에 설명 된 Apache available-sites 디렉토리에 항목을 추가하여 가상 호스트를 만들었습니다. DirectoryIndex = index.php와 DocumentRoot =/home/myadmin/public_html/domain [12]/com/public을 지정합니다. 두 앱 모두 정상적으로 작동하는 것 같습니다.
.htaccess 파일을 사용해야합니까? 무엇 때문에? 리처드의 링크를 기반으로
*** EDIT - My Solution
, 나는 보통 내 가상 호스트 정의에 htaccess로 살고있는 재 작성 문을 이동, 지금 내 응용 프로그램은 .htaccess 파일을 사용하지 않습니다. 젠드 프레임 워크와 대부분의 PHP 프레임 워크에 대한 htaccess로의
<VirtualHost *:80>
# Define admin email, server name, and any aliases
ServerAdmin [email protected]
ServerName domain1.com
ServerAlias www.domain1.com
# Only serve files from inside this directory
DocumentRoot /home/myadmin/public_html/domain1.com/public
# Directly serve any requested files that exist in DocumentRoot;
# otherwise redirect the request to the index.php script
RewriteEngine off
<Location />
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ /index.php [NC,L]
</Location>
# Set up log file locations
LogLevel warn
ErrorLog /home/myadmin/public_html/domain1.com/data/logs/error.log
CustomLog /home/myadmin/public_html/domain1.com/data/logs/access.log combined
</VirtualHost>
두 가지 유용한 링크가있는 정확한 답변. 감사. – keithm