Apache: 전체 사이트를 공개로 닫고 사용자 정의 페이지를 표시합니다.

Apache: 전체 사이트를 공개로 닫고 사용자 정의 페이지를 표시합니다.

웹사이트에 있는 어떤 파일이나 어떤 것도 삭제하고 싶지 않지만 모든 것을 대중에게 공개하고 싶지 않다고 가정해 보겠습니다. 사용자 정의 페이지를 보기만 하면 됩니다.

파일을 통해 httpd.conf이 문제를 어떻게 해결할 수 있나요? 어쩌면 다음과 같은 것일 수도 있습니다.

Alias /* /a.txt

답변1

당신은 올바른 길을 가고 있습니다! :)

사용자 정의 페이지를 index.html서버의 다른 폴더에 붙여넣고 DocumentRoot가 해당 폴더를 가리키도록 합니다. 따라서 현재 사이트가 /var/www/파일 에 있으면 .conf다음과 같은 줄이 포함됩니다. 새 사용자 정의 페이지가 있는 디렉터리를 가리키도록 변경하세요 DocumentRoot /var/www.index.html

또한 새 사용자 정의 페이지가 있는 디렉토리에 액세스할 수 있는 권한이 있는지 확인하십시오. 문서 루트( 이라고 가정 /var/www)의 경우 conf 파일의 권한은 다음과 같아야 합니다.

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

새 디렉터리로 바꾸세요(예 <Directory /var/www2/>: ).

구성 파일(예: sudo service apache2 restart또는 sudo /etc/init.d/apache restart) 이 로드되도록 Apache를 다시 시작하십시오.

이전 사이트로 돌아가고 싶을 때 다시 교체하면 됩니다 :)

답변2

이에 대한 규칙을 다시 작성할 것을 제안합니다.

RewriteCond %{REQUEST_URI} ^/a\.txt$
RewriteRule ^(.*)$ - [L]

RewriteRule ^(.*)$ /a.txt?url=%{REQUEST_URI} [R=302,L,QSA]

이 규칙은 모든 것이 a.txt루프를 생성하지 않도록 지시해야 합니다.

관련 정보