웹주소 .php 주소 삭제방법

웹주소 .php 주소 삭제방법

QA

웹주소 .php 주소 삭제방법

본문

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

 

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

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

 

 

#### 그누보드5 rewrite BEGIN #####
<IfModule mod_rewrite.c>
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]
</IfModule>
#### 그누보드5 rewrite END #####

 

 

+ 기본 htaccess 에 추가한내용

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

이 질문에 댓글 쓰기 :

답변 2

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

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

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

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

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

 

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

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


sudo a2enmod rewrite
sudo systemctl restart apache2

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


<Directory /var/www/html>
    AllowOverride All
</Directory>

 

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

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

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

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

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

답변을 작성하시기 전에 로그인 해주세요.
전체 129,406 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT