내 사이트는 거의 실행 중이지만 원본 코드에는 예를 들어 img src="/design/pic1.png"
등이 있습니다. 실제 서버에는 반드시 필요한 경로 인 web
이 있으므로 새 경로는 img src="web/design/pic1.png"
이어야하며 모든 경로를 다시 작성하고 싶지는 않습니다. 다른 옵션이 있습니까?다른 디렉토리로 리디렉션
답변
설정에 따라 한 가지 방법은 환경에 따라 기본 경로를 결정하는 상수를 사용하는 것입니다.
예를 들어, $WEB_ROOT . "/design/"
에있는 모든 이미지를 넣어 드리겠습니다,하지만 프로덕션 환경에이 $WEB_ROOT . "/web/design/"
있어, 다음과 같은 뭔가 끝낼 수 있습니다 개발 환경에서 가정 : 다음
<?php
// initialise stuff for development
if(ENVIRONMENT == ENV_DEV) {
define("BASE_PATH", "/");
// initialise stuff for production
} elseif(ENVIRONMENT == ENV_PROD) {
define("BASE_PATH", "/web");
}
?>
, 당신의 HTML에, 당신과 같이이 BASE_PATH
상수를 사용할 수 있습니다
<img src="<?=BASE_PATH;?>/design/pic1.png" />
당신이 ENV_DEV
이 예에서는 ENV_PROD
무엇인지를 결정하는 방법, 전체 유입니다 너에게.
하나의 방법은 도메인을 기반으로 감지하는 것입니다 ($_SERVER['HTTP_HOST']
, 어느 has some caveats 사용).
또 다른 방법은 웹 구성에서이를 초기화하는 것입니다. Apache2를 사용한다고 가정하면 SetEnv
지시문을 사용할 수 있습니다. 에서
당신의 httpd.conf
: 사용 PHP에서 액세스 할 수
SetEnv MY_ENVIRONMENT DEV
:
<?php
$_SERVER['MY_ENVIRONMENT'];
// or...
getenv("MY_ENVIRONMENT");
?>
위대한 파일이고 .css 파일의 파일은 어떨까? –
그건 까다 롭습니다. CSS 파일 * 관련 * 이미지를 CSS 디렉토리에 배치하는 경향이 있습니다. 그래서,'$ WEB_ROOT/css/style.css'을 가지고 있다면'$ WEB_ROOT/css/images /'를 만들고 CSS의 이미지를 상대 경로 (예. '/ something/something/css/images/foo.png'보다는'images/foo.png'를 사용하십시오. CSS 디렉토리가 웹 루트에서 항상 1 레벨 떨어져 있다는 것을 안다면'../ images/foo.png'를 할 수 있습니다. – gpmcadam
- 1. 하위 디렉토리로 리디렉션
- 2. .htaccess 디렉토리로 리디렉션
- 3. 하위 디렉토리로 리디렉션
- 4. 301 하위 도메인을 디렉토리로 리디렉션
- 5. .htaccess 지시어 파일을 디렉토리로 리디렉션
- 6. mod_rewrite - 부모 디렉토리로 간단하게 리디렉션
- 7. 특정 하위 디렉토리로 요청을 수락하지만 루트로 다른 URL로 요청을 리디렉션
- 8. 집이없는 SSH 액세스 및 다른 디렉토리로 리디렉션 됨
- 9. 하위 도메인을 빈 하위 디렉토리로 리디렉션
- 10. Htaccess Image 특정 크기 조정 디렉토리로 리디렉션
- 11. htaccess RewriteRule이 상위 디렉토리로 리디렉션 중입니까?
- 12. htaccess로는 호스트 이름을 기준으로 하위 디렉토리로 리디렉션
- 13. Apache index.php 기본 및 하위 디렉토리로 리디렉션
- 14. 디렉토리가 아닌 디렉토리를 아파치 디렉토리로 리디렉션
- 15. htaccess 하위 디렉토리에서 하위 디렉토리로 리디렉션
- 16. XAMPP 내부 네트워크의 XAMPP 디렉토리로 리디렉션
- 17. mod_rewrite를 사용하여 전체 디렉토리를 홈 디렉토리로 리디렉션
- 18. .htaccess를 사용하여 사이트의 루트를 하위 디렉토리로 리디렉션
- 19. .htaccess를 통해 하위 디렉토리로 리디렉션 호스팅
- 20. .htaccess 404 오류가 있으면 디렉토리로 리디렉션
- 21. .htaccess 영구적으로 쿼리 문자열을 디렉토리로 리디렉션
- 22. .htaccess Verio Windows 서버의 하위 디렉토리로 리디렉션
- 23. .htaccess - 가상 디렉토리로 PHP 파일 리디렉션
- 24. 다른 창으로 리디렉션 JS
- 25. rsync가 다른 디렉토리로 파일을 변경했습니다.
- 26. 완료되면 파일을 다른 디렉토리로 이동합니다.
- 27. 작업 복사본을 다른 디렉토리로 변경하십시오.
- 28. .htaccess 특정 디렉토리를 제외한 다른 곳으로 리디렉션
- 29. URL의 끝에서 "counter"를 제거하고 .htaccess로 홈 디렉토리로 리디렉션
- 30. htaccess가 두 호스트를 하위 디렉토리로 리디렉션 할 수 있습니까
를 서버가 최신 버전으로 모든 경로를 다시 작성할 경우에도, 즉 일시적인해야한다 문제를 해결하고 변경하기를 원하지 않기 때문에 존재하지 않는 경로를 언급해서는 안됩니다. 올바른 작업을 수행하고 정규 표현식으로 검색하고 바꿀 수있는 올바른 편집기를 사용하고 올바른 경로로 바꿉니다. (또한, 나는 당신의 웹 사이트 디렉토리 안에 "웹"폴더가 있다는 것이 이상하다는 것을 알게된다. –