답변:
Ubuntu를 사용하는 경우 파일을 편집하십시오 /etc/apache2/apache2.conf
(여기서 예제가 있음 /var/www
).
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
로 변경하십시오.
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
그때,
sudo service apache2 restart
sudo a2enmod rewrite
모듈 재 작성을 활성화 해야 할 수도 있습니다 .
sudo a2enmod rewrite
, 효과가있었습니다. 우분투 14.04 LTS에서. 그것이 누군가에게 도움이되기를 바랍니다.
IncludeOptional conf-enabled/*.conf
내 apache2.conf
파일 의 마지막 줄에 있음이 있음을 알 수 있습니다 . 그러나 apache2.conf
대신 우선 순위가있는 것으로 보입니다 .
주요 목표는 AllowOverride
아파치의 주요 구성 파일 (주로 / etc / apache2 /에있는 파일)의 관리자가 응용 프로그램에 의해 경로별로 동적으로 변경 될 수있는 구성 부분을 결정하는 것입니다.
서버의 관리자가 아닌 경우 이러한 관리자가 허용 하는 AllowOverride 수준 에 의존 합니다. 중요한 보안 설정을 변경하지 못하게 할 수 있습니다.
마스터 아파치 구성 관리자 인 경우 AllowOverride None
.htaccess 파일을 기반으로 찾은 모든 google_based 예제를 항상 사용 하고 Directory
기본 구성 파일의 섹션으로 전송 해야 합니다. .htaccess
파일에 대한 .htaccess 내용은 HTTP 요청마다 동적 구성 변경이 웹 서버 속도를 늦춘다는 점을 제외하고 /my/path/to/a/directory
는 <Directory /my/path/to/a/directory>
명령과 동일 .htaccess
합니다. 항상 .htaccess
확인 하지 않고 정적 구성을 선호하십시오 ( .htaccess
변경으로 인한 보안 공격도 피할 수 있습니다 ).
귀하의 예에서 사용하는 방법 <Directory>
은 항상 잘못되며 디렉토리 지침에는 항상 <Directory />
또는 <Directory C:>
또는 같은 경로가 포함 <Directory /my/path/to/a/directory>
됩니다. 물론 이것은로 전환 할 수없는 경우도 있습니다 .htaccess
A는 같은 .htaccess
디렉토리 명령처럼하지만,이 디렉토리에있는 파일 존재입니다. 물론 당신은 변경할 수 없습니다 AllowOverride
A의 .htaccess
이 명령은 관리 될 때 보안 수준 의 .htaccess
파일을.
Goto 메모장 your_severpath/apache_ver/conf/
에서 파일 httpd.conf
을 엽니 다.
이 줄을 찾으십시오.
#LoadModule vhost_alias_module modules / mod_vhost_alias.so
해시 기호를 제거하십시오.
LoadModule vhost_alias_module 모듈 /mod_vhost_alias.so
그런 다음 이동 <Directory />
다음으로 변경하십시오.
<Directory />
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
그런 다음 로컬 서버를 다시 시작하십시오.
Order allow,deny
이며 Allow from all
Apache 2.2 및 이전 버전 용입니다. Apache 2.4에서는이 두 줄이 Require all granted
다른 답변과 같이 바뀝니다 .
Linux에서 문서 루트에 대한 액세스를 완화하려면 다음 파일을 편집해야합니다.
/etc/httpd/conf/httpd.conf
액세스를 완화하려는 디렉토리 레벨에 따라 지시문을 변경해야합니다.
AllowOverride None
에
AllowOverride All
따라서 / var / www / html 디렉토리의 파일에 대한 액세스를 허용하려는 경우 다음 행을 다음에서 변경해야합니다.
<Directory "/var/www/html">
AllowOverride None
</Directory>
에
<Directory "/var/www/html">
AllowOverride All
</Directory>
Linux를 사용하는 경우 디렉토리에서 코드를 편집 할 수 있습니다.
/etc/httpd/conf/httpd.conf
자, 여기 코드 라인을 찾으십시오.
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride None
#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all
</Directory>
AllowOveride None 을 AllowOveride All로 변경
이제 다른 운영 체제가 httpd.conf 파일을 찾아 편집 하려고하면 디렉토리 내의 .httacess 파일에서 모든 종류의 규칙을 설정할 수 있습니다 .
now here fine the code line kinda like # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride None # # Controls who can get stuff from this server. #Sep 11, 2013 apache - How to Set AllowOverride all - Stack Overflow stackoverflow.com/questions/18740419/how-to-set-allowoverride-all
httpd.conf
파일 대신 파일 에 설정하고 싶다고 생각 .htaccess
합니다.
어떤 OS를 사용하는지 잘 모르겠지만 Ubuntu에 대한이 링크는 수행 할 작업에 대한 몇 가지 지침을 제공 할 수 있습니다.
https://help.ubuntu.com/community/EnablingUseOfApacheHtaccessFiles
다른 사용자가 여기에서 .htaccess 사용 권한을 부여하는 데 사용되는 allowoveride 지시문의 사용법에 대해 설명했습니다. 다른 사용자가 .htaccess에 액세스 할 수있는 경우 allowoverride를 사용하지 말고 특정 모듈을 허용하려면 allowoveride를 사용하십시오.
같은 AllowOverride AuthConfig mod_rewrite
대신
AllowOverride All
mod_mime과 같은 모듈은 서버 측 파일을 일반 텍스트로 렌더링 할 수 있기 때문입니다.
SuSE Linux 엔터프라이즈 서버
올바른 파일을 편집하고 있는지 확인하십시오 https://www.suse.com/documentation/sles11/book_sle_admin/data/sec_apache2_configuration.html
httpd.conf
기본 Apache 서버 구성 파일 이 파일을 변경하지 마십시오. 주로 include 문과 전역 설정을 포함합니다. 여기에 나열된 관련 구성 파일에서 전역 설정을 덮어 씁니다. 가상 호스트 구성 에서 호스트 별 설정 (예 : 문서 루트)을 변경하십시오 .
이 경우 vhosts.d/*.conf
편집해야합니다
<Directory>
지시어는 경로 인수가 필요합니다.