다음은 Nginx 1.2.5에서 실행되는 서버의 구성 파일에서 훨씬 단순화 된 버전입니다. 그러나 301 Moved Permanently
은 Location: http://example.com/phpmyadmin/
으로 데이터를 제공하기 전에는 rewrite
지시어의 기본 동작에서 예상 한 것과 다릅니다. . 내가 브라우저에서 http://example.com/pma
에 갈 때왜 Nginx를 사용하여 "301 Moved Permanently"명령을 다시 작성합니까?
server {
listen 80;
location /pma {
rewrite^/phpmyadmin;
}
location /phpmyadmin {
root /var/www;
index Documentation.html;
}
}
는, 데이터가 제공되지만 http://example.com/phpmyadmin/
에 주소 표시 줄 변경의 URL은이 http://example.com/pma
를 유지하기로했다있다.
Nginx가 301 Moved Permanently
을 보내지 않도록 내 서버의 실제 디렉토리 구조가 노출되지 않도록하려면 어떻게해야합니까?
는하지만 내가 원하는 리디렉션에게 제공 데이터의 실제 위치에 대한 정보와 함께 전송 될 (301)를 필요로하지 않는 리디렉션, 만 __internal__ 리디렉션한다 . 다시 한번 말하지만,이 예제는 매우 단순화되고 다시 작성되며 config는 원래 형태로 완벽하게 이해됩니다. 그리고 '재 작성'이 왜 '301'으로 이어질지에 대한 질문이 더 많습니다. 이것은 적어도 다시 작성 모듈의 공식 페이지가 아니라 문서화되지 않았습니다. –
별칭 지시문을 사용하십시오. http://wiki.nginx.org/HttpCoreModule#alias –
시도했습니다. 같은 것. Nginx는'301'을 보내고 URL은'http : // example.com/pma' 인 동안 브라우저에서'http : // example.com/phpmyadmin /'으로 바뀝니다. –