Apache에서 mod_rewrite를 활성화하는 방법은 무엇입니까?


164

방금 Ubuntu 시스템에 LAMP 스택을 설치했습니다.

리디렉션이 작동하지 않습니다. 나는 그것을 고치는 방법을 모른다. 누구든지 나를 도울 수 있습니까?


3
IMHO이 질문은 우분투에만 국한된 것이 아니므로 서버 결함 으로 마이그레이션해야합니다 .
Paolo

2
OP는 UBUNTU에 램프를 설치했습니다. 우분투에서 더 많은 것을 원하십니까?
wojox 2016 년

1
@ wojov : 나는이 사건에 대해 모르겠지만 그 주장은 효과가 없습니다. "우분투에서이 응용 프로그램을 어떻게 사용할 수 있습니까?" 대부분 주제가 맞지 않습니다.

23
이것은 "응용 프로그램을 사용하는 방법"이 아니라 "우분투에서 특정 기능을 사용하는 방법"입니다. Ubuntu의 Apache는 각 모듈과 가상 호스트가 파일 /etc/apache2이고 a2*프로그램을 사용하여 활성화 할 수 있는 다른 구성 레이아웃을 사용 합니다.
Lekensteyn 2018 년

문제를 좁히기 위해 무엇을했는지 설명해야합니다.
ericn

답변:


238

다시 쓰기 모듈을 활성화하려면 "apache2 enable module rewrite"를 실행하십시오.

sudo a2enmod rewrite

변경 사항을 적용하려면 웹 서버를 다시 시작해야합니다.

sudo service apache2 restart

.htaccess파일에서 mod_rewrite를 사용하려는 경우 .htaccess로 변경 AllowOverride None하여 파일 사용을 활성화해야 합니다 AllowOverride FileInfo. 기본 웹 사이트의 경우 다음을 편집하십시오 /etc/apache2/sites-available/default.

    <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            # changed from None to FileInfo
            AllowOverride FileInfo
            Order allow,deny
            allow from all
    </Directory>

이러한 변경 후 Apache를 다시 시작해야합니다.


18
나는에 AllowOverride 모두 더 많은 성공을 거두었
발렌틴 Despa에게

감사! sudo a2enmod rewrite그리고 FileInfo나를 위해 그것을 고정!
d -_- b

22
저에게 그 파일은 /etc/apache2/apache2.conf였습니다. 여기서 설정 항목을 찾았습니다
doc_id

예, 두 가지 변경으로 문제가 해결되었습니다.
Adelin

그것은 나를 위해 작동하지 않습니다. 여기에 질문을 게시했습니다 askubuntu.com/questions/809619/failing-to-rewrite-url
Suhail Gupta

49

우분투 14.04 와 관련하여 (위의 위대한 답변에 대한 후속 조치로) 특별한 답변을 추가 할 수 있습니다 .htaccess.

14.04에서 기본 구성 파일의 이름이 다음으로 변경되었습니다 000-default.conf.

sudo gedit /etc/apache2/sites-available/000-default.conf

파일 끝에 다음을 추가하십시오.

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

어떤 이유로 우분투 14.04 및 apache2에서 루트는로 설정됩니다 /www/html. 웹 서버 루트를 다시 good old /wwwopen 000-default.conf변경하고 변경하려면

DocumentRoot /var/www/html/

DocumentRoot /var/www/

그리고 물론 오프

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

1
정보 감사합니다! www를 모든 웹 사이트를 넣는 폴더로 사용할 수있는이 새로운 방법이며 html은 기본적으로 localhost의 "웹 사이트"입니다. 포트를 월드로 열어서 플레이하는 경우 중요 할 수 있습니다. 이렇게하면 로컬 호스트가 다른 프로젝트의 폴더를 볼 수 없습니다.
Vladimir Vukanac

1
그것은 나를 위해 작동하지 않습니다. 나는 사용하고있다 Ubuntu 14.04.4 LTS
Suhail Gupta
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.