테스트 사이트 - 개발 중인 베타 버전입니다

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

겟피익 1년 전 조회 2,217

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

 

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

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

답변 3개

채택된 답변
+20 포인트
R
1년 전

 

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

처럼 rewiterule 이용하세요.

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

답변에 대한 댓글 2개

겟피익
1년 전
감사합니다. 리라이트 규칙은 어떤 파일에 넣어주면 될까요?
s
sinbi
1년 전
.htaccess 파일에 넣으시면 됩니다.

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

1년 전

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

</p>

<p>RewriteEngine On</p>

<p> </p>

<p># Rule to remove .html extension

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME}.html -f

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

<p> </p>

<p># Rule to remove .php extension

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME}.php -f

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

<p>

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

답변에 대한 댓글 2개

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

# ...

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

# ...

}
[/code]

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

s
sinbi Expert
1년 전

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

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

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

답변에 대한 댓글 2개

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

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

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

로그인