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

웹주소 .php 주소 삭제방법 채택완료

myfree 10개월 전 조회 1,352

관리자 - 짧은주소 - [Apache 설정 코드 보기] 에서 코드를 복사하여 .htaccess 을 만들었고, 이 것을 루트 최상위에 업로드 했습니다.

 

웹주소에 .php 안쓰고 접속이 안됩니다.

Not Found The requested URL was not found on this server.

 

 

#### 그누보드5 rewrite BEGIN ##### RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}.php -f RewriteRule ^([^\.]+)$ $1.php [NC,L] RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] RewriteRule ^shop/list-([0-9a-z]+)$  shop/list.php?ca_id=$1&rewrite=1  [QSA,L] RewriteRule ^shop/type-([0-9a-z]+)$  shop/listtype.php?type=$1&rewrite=1  [QSA,L] RewriteRule ^shop/([0-9a-zA-Z_\-]+)$  shop/item.php?it_id=$1&rewrite=1  [QSA,L] RewriteRule ^shop/([^/]+)/$  shop/item.php?it_seo_title=$1&rewrite=1  [QSA,L] RewriteRule ^content/([0-9a-zA-Z_]+)$ bbs/content.php?co_id=$1&rewrite=1 [QSA,L] RewriteRule ^content/([^/]+)/$ bbs/content.php?co_seo_title=$1&rewrite=1 [QSA,L] RewriteRule ^rss/([0-9a-zA-Z_]+)$ bbs/rss.php?bo_table=$1 [QSA,L] RewriteRule ^([0-9a-zA-Z_]+)$ bbs/board.php?bo_table=$1&rewrite=1 [QSA,L] RewriteRule ^([0-9a-zA-Z_]+)/([^/]+)/$ bbs/board.php?bo_table=$1&wr_seo_title=$2&rewrite=1 [QSA,L] RewriteRule ^([0-9a-zA-Z_]+)/write$ bbs/write.php?bo_table=$1&rewrite=1 [QSA,L] RewriteRule ^([0-9a-zA-Z_]+)/([0-9]+)$ bbs/board.php?bo_table=$1&wr_id=$2&rewrite=1 [QSA,L] #### 그누보드5 rewrite END #####

 

 

+ 기본 htaccess 에 추가한내용

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

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

답변 2개

채택된 답변
+20 포인트
glitter0gim
10개월 전

Not Found 오류는 주로 .htaccess 설정이 제대로 작동하지 않거나,

Apache 서버의 mod_rewrite 모듈이 활성화되지 않은 경우 발생합니다.

문제를 해결하려면, .htaccess 파일이 올바르게 작성되었는지 확인하고,

Apache 서버의 설정에서 AllowOverride와 mod_rewrite가 올바르게 활성화되었는지 확인하며,

.htaccess 파일이 포함된 디렉토리가 웹 서버에 의해 올바르게 접근 가능한지 확인해야 합니다.

 

Apache 설정 파일 (httpd.conf 또는 apache2.conf)에서 mod_rewrite 모듈 확인.

활성화되어 있지 않다면, 아래 명령어를 실행하여 활성화합니다.

</p>

<p>sudo a2enmod rewrite

sudo systemctl restart apache2</p>

<p>

Apache 설정 파일에서 .htaccess 파일의 규칙이 적용될 수 있도록 AllowOverride 설정 확인.

</p>

<p><Directory /var/www/html>

    AllowOverride All

</Directory></p>

<p>

 

*설정 변경 후 Apache를 재시작합니다

*변경 후 브라우저에서 캐시를 지우고 URL에 .php 확장자를 제거한 채 접속해 봅니다.

*Apache 로그 (/var/log/apache2/error.log)를 확인하여 오류 원인을 파악합니다.

*.htaccess 규칙의 순서 또는 서버 캐시 문제일 수 있으니,

  규칙 순서를 변경하거나 Apache를 다시 시작하며 점검합니다.

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

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

10개월 전

우선 .php 를 쓰고 짧은 주소는 정상 접속 되는지부터 채크해보세요.

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

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

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

로그인