이 방식은 서버에서 .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/
댓글