설정하고 싶지만 AllowOverride all
어떻게해야할지 모르겠습니다. Google을 검색하여 다음 코드를 찾아 붙여 넣었습니다 .htaccess
.
<Directory>
AllowOverride All
</Directory>
그러나 붙여 넣은 후에 나는 받기 시작했습니다. "Internal Server Error"
누구 든지이 코드를 어디에 넣을 지 또는 어떻게 수행 할 수 있습니까?
답변
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
모듈 재 작성을 활성화 해야 할 수도 있습니다 .
답변
주요 목표는 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>
그런 다음 로컬 서버를 다시 시작하십시오.
답변
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 파일에서 모든 종류의 규칙을 설정할 수 있습니다 .
답변
httpd.conf
파일 대신 파일 에 설정하고 싶다고 생각 .htaccess
합니다.
어떤 OS를 사용하는지 잘 모르겠지만 Ubuntu에 대한이 링크는 수행 할 작업에 대한 몇 가지 지침을 제공 할 수 있습니다.
https://help.ubuntu.com/community/EnablingUseOfApacheHtaccessFiles
답변
다른 사용자가 여기에서 .htaccess 사용 권한을 부여하는 데 사용되는 allowoveride 지시문의 사용법에 대해 설명했습니다. 다른 사용자가 .htaccess에 액세스 할 수있는 경우 allowoverride를 사용하지 말고 특정 모듈을 허용하려면 allowoveride를 사용하십시오.
같은 AllowOverride AuthConfig mod_rewrite
대신
AllowOverride All
mod_mime과 같은 모듈은 서버 측 파일을 일반 텍스트로 렌더링 할 수 있기 때문입니다.