2013-07-20 2 views
0

그래서 나는 자원을 찾을 수 없다는 문제에 봉착했습니다. 나는 아파치와 larnvel을 실행하고 광택을 얻으려고 노력하고있다. 한 가지 예외는 있지만 잘 작동하고 있습니다. 모든 URL에는 아파치가 실행되고있는 포트 (8080)가 추가됩니다. 그래서 난 링크에 갈 때 :laravel with apache and varnish

http://localhost/ 

그것은 잘 작동하지만, 사이트에있는 모든 링크가 같은를 보여주고있다 :

http://localhost:8080/about-us 

I 포트 (80)와 아파치의 실행에서 실행 광택이 포트 8080에서 아파치로 실행할 때 포트에 추가하지 않아도 작동하기 때문에 문제가되는 것이 니라 확신합니다. 누구든지 포트를 추가하는 방법을 알고 있습니다. Google을 통해이 문제에 대한 정보를 찾을 수 없었습니다.

+0

vcl 백엔드 정의를 게시 할 수 있습니까? 나는 Varnish가이 경우에 책임이있는 사람이 아니라 lavarel의 기본 URL 재 작성을 확신합니다. – NITEMAN

답변

0

필자는 PHP 천재는 아니지만, 내가 아는 모든 웹 프레임 워크는 인바운드 요청에서 호스트 헤더를 사용하여 비대화 링크를 생성합니다 (측면 질문 : 리소스가 동일 할 때 절대 URL을 렌더링하는 이유는 무엇입니까? 첫 번째 장소에서 호스트?). 8080 라

set req.http.Host = "localhost:8080"; 

또는

set bereq.http.Host = "localhost:8080"; 

나하고 같은 일 : 당신의 VCL에 당신이 다시 작성하는 경우

그래서, 요청의 또는 백엔드 요청의 (bereq) 호스트 헤더는 로컬 호스트 아파치에서 그게 문제의 원인입니다. 그것이 아니라면 PHP는 호스트 헤더 대신 서버가 실행중인 포트를 사용하여 URL을 구성합니다. 이는 거의 보편적으로 바람직하지 않은 동작이며 사용자의 잘못된 구성으로 인한 것일 수 있습니다.