URL 재작성: CSS, JS 및 이미지 로드 실패 해결
.htaccess에서 URL 재작성 규칙을 구현할 때 일반적인 문제가 발생합니다. CSS, JS 및 이미지와 같은 외부 자산이 올바르게 로드되지 않는 경우. 이는 리디렉션이 발생할 때 URI 기반이 변경되었기 때문일 수 있습니다.
초기 해결 방법은 페이지의 URL에 관계없이 자산의 위치를 확인하는 절대 경로를 사용하는 것입니다. 그러나 이를 위해서는 모든 파일을 지루하게 수정해야 하므로 신뢰할 수 없는 솔루션이 됩니다.
대체 접근 방식은 .htaccess 규칙을 활용하여 일관된 기본 URI를 설정합니다.
RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteRule ^detail/([0-9]+)/?$ detail.php?id= RewriteEngine On RewriteCond %{REQUEST_URI} !^/css/ RewriteCond %{REQUEST_URI} !^/js/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /detail/123/ [R=307,L]
이 규칙은 모든 파일이 외부 자산은 /detail/123/ URL에서 참조됩니다. [R=307,L] 플래그는 요청을 올바른 기본 URI(/detail/123/)로 리디렉션하여 절대 경로를 요구하지 않고 자산 로딩 문제를 효과적으로 해결합니다.
이와 함께 다음을 추가할 수 있습니다. <베이스>
내의 태그 페이지 요소:<base href="/detail/123/">
이렇게 하면 기본 URI가 더욱 견고해지고 상대 경로가 올바르게 작동할 수 있습니다. 이러한 규칙을 구현하면 개별 파일을 편집할 필요 없이 URL 재작성을 유지하여 원활한 사용자 경험을 보장할 수 있습니다.
위 내용은 URL 재작성을 구현한 후 CSS, JS 및 이미지 로드 문제를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!