2026, 새로운 도약을 시작합니다.

직접 만든 html에 접속할 때 주소창 .html붙는 것 없애는 방법 채택완료

직접 php와 html등을 작성해서 루트 디렉토리에 올려서 페이지를 제공하고 있습니다. 그런데 해당 페이지에 접속을 하려면 주소창에 ~~/~~~.html 과 같은 식으로 마지막에 확장자가 붙습니다.

어떻게 해야 확장자 없이 깔끔한 주소로 사용할 수 있을까요

답변 3개

채택된 답변
+20 포인트

RewriteRule ^([^/]+)/$ /v1/$1.html

처럼 rewiterule 이용하세요.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

감사합니다. 리라이트 규칙은 어떤 파일에 넣어주면 될까요?
.htaccess 파일에 넣으시면 됩니다.

댓글을 작성하려면 로그인이 필요합니다.

* 루트 디렉토리 .htaccess 파일 생성

Copy


RewriteEngine On

 

# Rule to remove .html extension

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME}.html -f

RewriteRule ^(.+)$ /$1.html [NC,L]

 

# Rule to remove .php extension

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME}.php -f

RewriteRule ^(.+)$ /$1.php [NC,L]

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

아파치 서버가 아닌 nginx에서는 어떻게 적용하면 될까요 재차 질문드려 죄송합니다.
※ https://www.rewriteguide.com/nginx-remove-file-extensions-from-urls/
[code]
server {

# ...

location / {
try_files $uri.php $uri $uri/ =404;
}

# ...

}
[/code]

댓글을 작성하려면 로그인이 필요합니다.

폴더 하나 만들고, 그 안에 index.php (또는, index.html)  파일명으로 하시면 됩니다. (다른 파일명은 안 됨.)

(예) 실제로는 https://homzzang.com/game/index.php 주소이나 https://homzzang.com/game 주소로 접속하면 연결되는 식이죠.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

이런 방법도 있군요! 나중에 필요할 때 사용하겠습니다!!
서버가 아파치가 아닌 nginx인데 nginx에서는 .htaccess 방법은 사용 못하는걸까요

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고