2010-12-06 5 views
5

나는 항상 PHP로 mod_rewrite와 경로를 통해 PHP로 모든 요청을 보냅니다. 따라서 내 모든 링크는 절대적입니다 (예 : /about/something). BASE는 일반적으로 /로 변환하거나 기본 URL에 따라 다를 수 있습니다 어디<base href = ""/>를 사용해야합니까?

나는 보통 ...과 같이

<a href="<?php echo BASE; ?>">home</a> 

을 내 링크를 작성합니다.

내가 전에 <base href="<?php echo BASE; ?>" />에게주는 것을 기억하지만, 나는 그것을 사용하지 않는 이유를 기억할 수 없다. (나는 그것이 나에게 두통을주고 있다고 생각한다).

이 요소를 사용하는 데 문제가 있습니까?

답변

3

기본 요소의 href는 HTML 4.01에서 절대 URI가되어야합니다. http://www.w3.org/TR/html4/struct/links.html#h-12.4을 참조하십시오.

일부 브라우저는 그다지 엄격하지 않지만 모든 브라우저가 일관성이 있다고 생각하지 않으므로 <base href="/">은 아마도 크로스 브라우저에서 작동하지 않습니다.

3

나는 항상 같은 이유로 기본 href를 사용합니다. mod_rewrite를 사용하여 URL을 쿼리 문자열로 만들고 절대 URL을 사용하고 싶지 않습니다. 그래서 상단에 하나의 기본 href를 넣습니다. 결코 실제 문제가 없었습니다.

+0

IE에서 기본 href를 사용하여 하위 폴더의 상대 URL에 "location.href"라는 javascript를 시도해 보셨나요? 예 : 기본 href가 "http://www.site.com/"이고 javascript onclick이 "window.location.href = 'folder/targetpage.html'이고 false를 반환하는 경우" - IE에서는 이미 해당 하위 폴더에 있으면 제대로 작동하지 않습니다. 이 문제를 해결할 방법이 있습니까? – Sean

+0

이 사실을 발견하지 못했습니다. 그래서 분명히 해결 방법이 없다. –

0

OpenCart는 Magento 1.7+를 사용하지 않습니다. Drupal 6은 사용하지 않습니다. 나는 과거에 하나의 사용자 정의 기본 href 구현을 실행했으며 프로젝트 유지 관리를 더 어렵게 만드는 것처럼 보였습니다.하지만 그것은 제 의견입니다.

관련 문제