> 백엔드 개발 > PHP 튜토리얼 > SEO 친화적인 URL을 구현한 후 CSS, JS 및 이미지가 손상되는 이유는 무엇입니까?

SEO 친화적인 URL을 구현한 후 CSS, JS 및 이미지가 손상되는 이유는 무엇입니까?

DDD
풀어 주다: 2024-12-25 12:42:20
원래의
716명이 탐색했습니다.

Why Are My CSS, JS, and Images Broken After Implementing SEO-Friendly URLs?

SEO 친화적 URL은 CSS, JS 및 이미지 기능에 영향을 미칩니다: 재작성 전략

검색 엔진 최적화(SEO)를 향상하려면 SEO 친화적인 URL을 구현하려는 의도로 .htaccess 파일을 다시 작성했습니다. 그러나 예상치 못한 문제가 발생했습니다. CSS, JS 및 이미지가 수정된 페이지에서 예상대로 작동하지 않습니다.

이 문제는 원본 .htaccess 파일 구성이 다음을 사용하여 SEO 친화적인 URL을 생성한다는 사실에서 발생합니다. 다음 규칙:

RewriteRule ^swift-details/([0-9]+)/([0-9a-zA-Z_-]+)$ swift-details.php?id= [NC,L]
RewriteRule ^swift-details/(css|js|img)/(.*)?$ // [L,QSA,R=301]
로그인 후 복사

첫 번째 규칙은 URL을 보다 SEO 친화적인 형식으로 다시 작성합니다. 문제는 두 번째 규칙에 있습니다. 페이지 내에서 상대 링크를 유지하면서 CSS, JS 및 이미지에 대한 요청을 절대 대응 항목에 매핑하려고 시도합니다.

그러나 이 접근 방식은 페이지의 기본 URI를 변경하여 상대 링크(예: "스타일")를 생성합니다. .css")는 이제 브라우저가 수정된 URL(예: "/swift-details/2/abblinbb")을 기준으로 해석하기 때문에 실패합니다. 결과적으로 CSS, JS 및 이미지가 올바르게 로드되지 않습니다.

수정: 절대 또는 기본 URI 삽입

이 문제를 해결할 수 있는 두 가지 해결 방법은 다음과 같습니다.

  • 절대 링크 사용: 사용할 페이지 내 링크를 수정하세요. 상대 URL 대신 절대 URL(예: "/css/styles.css").
  • 기본 URI 감염: 내에 절대 기본 URI가 있는 태그 섹션:
<head>
  <base href="/" />
</head>
로그인 후 복사

이렇게 하면 브라우저가 적절한 기본 URI로 상대 링크를 확인하여 CSS, JS 및 이미지가 예상대로 로드되도록 합니다.

위 내용은 SEO 친화적인 URL을 구현한 후 CSS, JS 및 이미지가 손상되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿