이것이 최선의 방법인지는 잘 모르겠지만 이것이 저에게 효과적이었습니다.
아파치 virtualhosts.conf (당신은 약간의 수정을 httpd.conf에 넣고 수) :
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html/apps
ServerName apps.domain.com:80
ServerAlias www.apps.domain.com
UserDir Disabled
ErrorLog logs/domain_error_log
Options FollowSymLinks
<Directory /var/www/html/apps/subdirectory/>
#same stuff in standard zf2 .htaccess file
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
</Directory>
위치 앱 :
/var/www/zf2_app
심볼릭 링크를 :
ln -s /var/www/zf2_app/public/ /var/www/html/apps/subdirectory
주목할 몇 가지 : 디렉토리 지시어는 URI가 아닌 파일 시스템 경로를 기반으로합니다. 그것은 아파치 문서에서 한 줄을 쓴 것입니다. 왜냐하면 VirtualHost 지시어에서 mod_rewrite를 사용한다면 URI를 기반으로하기 때문입니다. 또한 Symlink가 작동하려면 Options FollowSymLinks가 켜져 있어야하고 디렉토리 지시문에서 mod_rewrite가 작동해야합니다. 내가 아파치를 다시로드 한 후
, 나는 사용하여 내 zf2 응용 프로그램을 탐색 할 수 있었다 : apps.domain.com/subdirectory/module
이 날 일반 zf2 골격 응용 프로그램 구조를 유지하는 것을 허용했다. 또한 그것을 함께 유지함으로써 git (또는 다른 소스 컨트롤)를 사용하여 물건을 나눌 필요없이 푸시 할 수 있습니다.
내가이 같은 htaccess로 파일에 환경 변수를 추가했다
설정 스켈레톤 구조를 유지하고 싶지만 짧은 URL은 전부입니까? – Sam
예, 하위 디렉토리 – Marty
기본적으로 파일이 저장되는 곳은 중요하지 않습니다. 공개 디렉토리에'VirtualHost'를 설정하기 위해 아파치를 설정하기 만하면됩니다. 그럼 당신이해야 할 일은'domain.com'입니다. 나는 리눅스가 마음에 들지 않으므로 지시를 내릴 수는 없지만,이게 니가 찾고있는 것 같다. – Sam