본문 바로가기
카테고리 없음

홈페이지에 표시되는 url 에서 확장자 숨기기 ( .html .php 등등)

by Damon11 2021. 1. 14.

이 방식은 서버에서 .htaccess 라는 파일설정을 읽어들인 후 적용되는 것이기 때문에

개발 도중 로컬이나 vs Code의 live server 같은 종류에는 적용이 되지 않는다.

 

bitnami 로 설치한 apache 웹서버에선 제대로 동작하는 것을 확인하였다. 추후 카페24같은 웹호스팅 서비스에서도 작동하는지 확인 후 다시 최신정보를 업데이트 할 예정

(2022.08.16 잘 작동한다)

 

웹페이지 루트경로에 

.htaccess 라는 파일을 만든다. (메모장이나 노트패드 등으로 그냥 만들면 됨)

 

해당 파일에 내용을 채워넣는다.

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^\.]+)$ $1.html [NC,L]

 

나는 지금 저 3줄만 추가했슴.

페이지가 여러개의 html 파일로 이루어져 있는 경우에는,

a href 코드를 입력할때도 .html 을 제외시키고 코드를 작성해야, 웹브라우저에 .html이 보이지 않는다.

그렇기 때문에 서버가 아닌 다른곳에서 웹페이지를 테스트하면 오류가 난다.!!!

 

나같은 경우에는 header.html 을 따로 분류해서 웹페이지를 만들었는데,

신기하게도, header파일 내부에 a href 링크에 모두 .html을 지워도

header.html을 읽어오는 코드를

 

    <script>loadHTML("/html/header.html");</script>

 

이렇게 적으면, header.html 내부에서 지웠던 .html 확장자가 모두 살아난다....

 

    <script>loadHTML("/html/header");</script>

 

이렇게 헤더의 확장자를 지우고 읽어와야 말끔하게 적용된다.

 

라이브서버에서 작동안되는게 치명적인 단점....

 

 

 

 

참고 출처

https://stackoverflow.com/questions/5730092/how-to-remove-html-from-url/5730126#5730126

https://alexcican.com/post/how-to-remove-php-html-htm-extensions-with-htaccess/

댓글