웹주소 .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를 다시 시작하며 점검합니다.
!-->!-->우선 .php 를 쓰고 짧은 주소는 정상 접속 되는지부터 채크해보세요.