끝에 슬래시 ( "/")없이 이와 같은 URL을 요청할 때이 Redirect (301)를 실제로 보지 못했습니다. http://server/directory
서버는 Location 헤더가로 지정된 301 Redirect Permanent 헤더로 응답합니다 http://server/directory/
.
이 라이브 예제를 참조하십시오 :
사용자 요청 :
GET /social HTTP/1.1
( http://192.168.1.111/social )
아파치 서버 응답 :
HTTP/1.1 301 Moved Permanently
Location: http://192.168.1.111/social/
사용자 요청 :
GET /social/ HTTP/1.1
( http://192.168.1.111/social/ )
아파치 서버 응답 :
HTTP/1.1 200 OK
아파치 access.log :
192.168.1.130 - - [05/Apr/2014:22:06:47 +0200] "GET /social HTTP/1.1" 301 558 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:27.0) Gecko/20100101 Firefox/27.0"
-
192.168.1.130 - - [05/Apr/2014:22:06:47 +0200] "GET /social/ HTTP/1.1" 200 942 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:27.0) Gecko/20100101 Firefox/27.0"
/ social / 디렉토리에는 index.html
파일이 있습니다.
아파치 소프트웨어 : Apache/2.2.22 (Ubuntu)
디렉토리 옵션 :Options Indexes FollowSymLinks MultiViews
그래서 내 질문은 : 아파치가 왜 이것을하고 있습니까? 리디렉션을 방지하고 index.html
직접 보내는 방법은 무엇입니까? 클라이언트는 실제로 불필요한 두 가지 요청을 보내야합니다. 클라이언트 중 일부는 리디렉션을 허용하지 않으며 슬래시 ( "/")가 없으면 사이트로 이동할 수 없습니다.
리디렉션을 사용 중지하고 싶지 않습니다. 서버가 리디렉션없이 직접 응답을 보내지 않기를 원합니다. 요청하는 경우에도 /social
.
아파치는 이러한 요청을 리디렉션하도록 설계 되었습니까? 서버는 리디렉션하지 않고 데이터를 보낼 수 있습니다. mod_rewrite
이것을 막기 위해 사용해야 합니까? 아니면 다른 구성? 아니면 그냥 이렇게 놔두고 모든 HTML 링크 끝에 슬래시를 추가하고 리디렉션을해야합니까?
너희들은 어떻게 생각하니?
index.html
리디렉션없이 출력하기 를
/social
. (또한 일반적으로 여러 URL에서 동일한 콘텐츠를 제공하는 것은 바람직하지 않습니다.)
/social
은 예제에서 404로 응답하는 것 입니다.