가상 호스트에서 mod_rewrite 규칙이 작동하지 않습니다. 나는 cakephp를 위해 이것을 원했다.
가상 호스트 파일에 추가 할 설정이 있습니까?
가상 호스트에서 mod_rewrite 규칙이 작동하지 않습니다. 나는 cakephp를 위해 이것을 원했다.
가상 호스트 파일에 추가 할 설정이 있습니까?
답변:
최신 아파치 버전 2.4 이상을 사용하는 경우 mod_rewrite를 활성화하는 방법은 다음과 같습니다. 자주 사용하는 텍스트 편집기를 사용하여
열기로
이동 하십시오.
변화etc/apache2/
apache2.conf
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
에
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
그런 다음 저장하십시오. 이 파일을 편집하고 저장하려면 루트 권한이 있어야합니다.
이제 아파치를 다시 시작하십시오.
service apache2 reload
이 프로세스는 가상 호스트를 포함한 아파치 서버에 대해 mod_rewrite를 활성화합니다.
활성화되어 있는지 여부를 확인할 수도 있습니다. PHP 스크립트 만들기
<?php
phpinfo();
?>
서버에서로드하십시오. Loaded Modules
섹션 아래에 있는지 확인하십시오 mod_rewrite
. 있으면 활성화됩니다.
다시 쓰기 사용
# sudo a2enmod rewrite
그런 다음을 사용하여 apcahe2를 다시 시작하십시오.
# service apache2 restart
추가하여 Virtualhost에서 활성화
AllowOverride FileInfo
그런 다음을 사용하여 apcahe2를 다시 시작하십시오.
# service apache2 restart
예 :
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
# I Have below line from none to FileInfo
AllowOverride FileInfo
Order allow,deny
allow from all
</Directory>
apache2.conf
끝나지만apache
404를 업데이트 하고 다시 시작한 후에는 사라졌지 만 모든 페이지가 홈페이지로 돌아갔습니다! 모듈을 활성화phpinfo()
하지 않았습니다mod_rewrite
. 그런 다음 CLI commnd를 실행하면 (아래 Lonston에서 제안한대로) 모든 것이 금방 사라졌습니다! 이 솔루션으로mod-rewrite
모듈 이 활성화되지 않고 CLI approad가 필요한 이유는 무엇입니까?.conf
모듈을 활성화하기 위해 CLI 명령 을 차례로 수정 하고 실행 하는 조합입니까? 아니면 이것으로 충분합니까?