Apache .htaccess가 새 VPS에서 작동하지 않습니다.

Apache .htaccess가 새 VPS에서 작동하지 않습니다.

일반 서버에서 VPS 서버로 호스팅을 변경했습니다. 이 VPS 서버에서는 작동이 정상이지만.htaccess VPS에서 파일을 실행하거나 읽지 않습니다.

예를 들어 코드와 같은 리디렉션 301과 같은 간단한 작업도 있습니다.Redirect 301 /url.html domain.com/urlnova.html )와 같은 리디렉션 301과 같은 간단한 작업도 가능합니다.

그러나 로컬 아파치 서버(XAMPP)에서 테스트했을 때 정상적으로 작동하고 이전 호스팅에서도 작동합니다.

파일을 처음부터 새로 만들었지만 여전히 작동하지 않습니다. VPS 호스팅 지원팀(이 경우 Hostinger)과 통화했지만 도움을 받을 수 없었습니다.

활성화할 수 있는 방법이 있나요 .htaccess?

답변1

.htaccessApache httpd의 사용은 다음에 의해 제어됩니다.AllowOverride . 대부분의 공유 호스팅 제공업체는 .htaccess고객을 위해 모든 기능을 제공하지만 실제로는기본적으로 비활성화됨재고 구성이 있는 Apache httpd에서.

Nginx와 같은 다른 웹 서버는 .htaccess전혀 지원하지 않습니다.

답변2

무엇보다 먼저 Apache가 실제로 새 VPS에서 실행되는 웹 서버인지 확인하세요. 아시다시피 많은 호스팅 제공업체에서는 Apache와 Nginx를 유사한 웹 서버로 간주하지 않지만 Nginx는 서버에서 실행됩니다. 특히 .htaccess100% Apache 전용 항목인 파일 의 경우 .

처럼user1686은 답변에서 말합니다., 호스팅 제공업체가 작동 하려면 AllowOverride로 설정되어야 합니다. 그리고 그렇습니다 . Apache 웹 서버와 웹 사이트의 거의 99%가 작동하도록 설정되어야 한다는 사실에도 불구하고 기본 Apache 설치에서는 로 설정되어 있지 않습니다 . 예를 들어, Wordpress와 Drupal(가장 인기 있는 CMS 시스템 중 두 가지)은 설정 및 실행 없이는 전혀 작동하지 않습니다 .All.htaccessAllowOverrideAll.htaccess.htaccess

예 를 들어 이는 기본 /etc/httpd/conf/httpd.conf파일 의 맨 아래에 설정하여 .htaccess./var/www/html

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

다음과 같은 경로의 로컬 Apache 구성 파일에서 설정할 수도 있습니다.

/etc/httpd/conf.d/zzzz_local.conf

예전에는 맨 아래에 그런 내용을 추가했지만 /etc/httpd/conf/httpd.conf요즘은 개인적으로 로드되는 구성 파일에 설정하는 것이 더 깔끔하다고 생각합니다.~ 후에메인은 httpd.conf에 로드됩니다 /etc/httpd/conf.d/.

그러나 일반적으로 가 작동 AllowOverride All하려면 설정이 필요합니다 ..htaccess

관련 정보