2013-01-04 2 views
0

원격 개발 서버에 배포 할 때 제대로 작동하는 웹 사이트가 있습니다. 그러나 로컬 컴퓨터로 옮길 때 모든 이미지 경로가 이제 올바른 디렉토리를 가리 키지 않습니다.로컬 서버로 이동하면 PHP 이미지 경로가 변경됩니다.

여기서 <img src="/images/breadicon.png" />이 작동하는 데 사용되었으므로 이제 404 파일을 찾을 수 없습니다.

<img src="./images/breadicon.png" />으로 업데이트하면 이미지가 발견되지만이 사이트를 다시 배포 할 때 모든 링크를 되돌릴 필요가 없습니다. 물론 작업하지 않아도됩니다. 원격 서버에서.

문제는 .없이 경로는 http://localhost/images/breadicon.png 대신 http://localhost/sitename/images/breadicon.php

내가 모든 링크를 해결하고 재배치에 대한 코드를 파괴하지 않고 내 링크가 할 수있는 것으로 인식되고있다?

+1

로컬 호스트 구성을 local.sitename.com으로 설정하는 것이 더 쉬울 수도 있습니다. 호스트 파일 및 웹 서버 구성을 사용하여이 작업을 수행 할 수 있습니다. 그렇지 않으면 기본 경로 처리를 모든 템플리트에 넣는 것입니다. – datasage

+0

귀하의 웹 서버는이 호스트에 대해 다른 루트 디렉토리를 설정했을 가능성이 큽니다./= root ./ = 현재 디렉토리에서 – Ikstar

답변

0

http://localhost/sitename 대신 http://localhost/에서 사이트에 액세스 할 수 있도록 웹 서버를 구성하십시오.

해당 이름이 이미 다른 용도로 사용 된 경우, 예를 들어 가상 호스트를 만듭니다. 웹 서버에 sitename을 입력하고 호스트 파일을 편집하여 sitename127.0.0.1을 가리 키도록하십시오.

+0

예, "htdocs"dir (localhost)을 사용하여 동일한 방식으로 여러 사이트를 구축 할 예정입니다. (실제로는 htdocs가 아니라 Mac OS 10.8의'/ Library/WebServer/Documents /' – Smittles

1

아마도 가장 좋은 방법은 로컬 컴퓨터에 웹 호스트를 설정하는 것입니다.

예를 들어 라이브/원격 사이트가 http://www.example.com/ 인 경우 로컬 웹 호스트를 http://example/으로 설정할 수 있습니다.

나는 Windows를 사용 중이며 Apache를 사용하고 있다고 가정합니다. 포함 할 수 있습니다 (: C : \ WINDOWS \ system32를 \ 드라이버 \ 등 관리자, 보통 여기로 실행, 메모장을 사용) : 당신의 hosts 파일을 편집 할 필요가 것

127.0.0.1 example 

그리고 아파치 호스트 설정 파일을 작성, 예를 들면 :

<VirtualHost *:80> 
ServerName example 
DocumentRoot C:/Path/To/Site/example 
</VirtualHost> 

그런 다음 아파치를 다시 시작하고 http://example/로 이동합니다. 링크 등의 표준 규칙을 따를 경우 트릭을 수행해야합니다.

+0

아파치를 다시 시작하면 index.php가로드되지만 링크는 여전히 끊어집니다 .http : // example /에 대한 브라우징 그러나 CSS와 일부 이미지는 작동하고 다른 이미지는 작동하지 않으며 링크가 작동하지 않습니다 (mod_rewrite 규칙에 .htaccess 파일 사용). – Smittles

+0

이미지 경로가 일관성이없는 것처럼 들립니다 프로젝트 전체에서 ''이라는 예제를 게시 할 수 있습니까? – Tom

관련 문제