.htaccess 파일을 사용하여 경로를 다시 쓰도록 설정 (작동하지 않음)


17

모든 튜토리얼은 :을 편집하도록 지시 /etc/apache2/sites-available/default하지만이 파일은 존재하지 않습니다. 이 파일 내에서 다음을 편집해야합니다.

<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
#AllowOverride All
#AllowOverride AuthConfig FileInfo Indexes Limit Options=All, MultiViews        
Order allow,deny
allow from all </Directory>

파일은 어떻게 생겼으며 직접 만들어야합니까?

또한 000-default.conf파일이 있지만 위의 '코드'도 없습니다.

답변:


59

아파치 버전 2.4 이상의 경우

/etc/apache2/apache2.conf

해당 파일을 편집해야합니다 (루트 권한이 있어야 함). 다음과 같이 디렉토리 텍스트를 변경하십시오.

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

이제 아파치를 다시 시작하십시오.

service apache2 restart

그것이 효과가 있기를 바랍니다.


이것이 무엇을하는지 설명해 주시겠습니까? 이것이 .htaccess와 어떻게 연결됩니까? 내 .htaccess가 전혀 읽히지 않습니다.
chx101

1
여기서 중요한 줄 AllowOverride All.htaccess파일 에서 모든 설정을 설정 (재정의) 할 수 있다는 것을 의미 합니다. 문서를 참조하십시오 : httpd.apache.org/docs/2.4/mod/core.html#allowoverride
jacwah

18

우분투 14.04 (및 Apache 2.4) 기본 DocumentRoot가 / var / www에서 / var / www / html로 변경되었습니다.

먼저 a2enmod를 활성화하십시오

sudo a2enmod rewrite 

sudo service apache2 restart

sudo nano /etc/apache2/sites-enabled/000-default.conf

이 줄을 끝에 추가하십시오

<Directory /var/www/html>
    AllowOverride All
 </Directory>

sudo service apache2 restart

1
이 솔루션은 mod_rewrite를 먼저 활성화해야하기 때문에 효과적입니다. 고마워
kishor10d

1
이것은 아파치 2.4에서 실제로 작동했습니다. 내 하루를 구했다 maing apache2.conf .htaccess를 편집 한 후에도 작동하지 않았지만이 방법으로 작동했습니다.
파이살 사프 라즈

9

각 업그레이드 / 업데이트에서 동일한 구성을 반복하지 않으려는 경우

가장 좋은 방법은 다음과 같습니다.

구성 파일 편집 또는 작성

/etc/apache2/conf-available/httpd.conf

더하다

<Directory /var/www/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory>

구성 파일 사용

sudo a2enconf httpd

Apache 재시작 또는 재로드

sudo service apache2 restart

또는

sudo service apache2 reload

끝났다!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.