>백엔드 개발 >PHP 튜토리얼 >mod_rewrite를 사용해도 내 CodeIgniter URL이 'index.php'를 제거하지 않는 이유는 무엇입니까?

mod_rewrite를 사용해도 내 CodeIgniter URL이 'index.php'를 제거하지 않는 이유는 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-26 01:18:09687검색

Why Aren't My CodeIgniter URLs Removing

CodeIgniter URL에서 index.php 제거

귀하의 목표는 CodeIgniter URL에서 "index.php"를 제거하는 것이지만 mod_rewrite를 활성화함에도 불구하고 , $config['index_page']를 ''로 설정하고 제공된 .htaccess 코드를 구현하면 문제가 발생합니다. 지속됩니다. 잠재적인 원인을 조사해 보겠습니다.

시작하려면 Apache2 서버 구성에서 mod_rewrite가 활성화되어 있고 config.php의 $config['index_page'] 변수가 비어 있는지 확인하세요.

$config['index_page'] = "";

다음으로, 루트 .htaccess 파일에 다음 코드가 포함되어 있는지 확인하세요.

RewriteEngine on
RewriteCond  !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/ [L,QSA]

.htaccess 코드에 유의하세요. 호스팅 서버에 따라 달라질 수 있습니다. 어떤 경우에는 추가로 "?" 마지막 줄 끝에 필요할 수 있습니다:

RewriteRule ^(.*)$ index.php?/ [L,QSA]

이전 단계로 문제를 해결하지 못한 경우 다음을 시도하십시오.

  1. REQUEST_URI 프로토콜 활성화: $config['uri_protocol'] = "AUTO"를 $config['uri_protocol'] =로 바꾸세요. config.php의 "REQUEST_URI".
  2. 개발 중 RewriteEngine 비활성화: Apache2의 RewriteEngine은 CodeIgniter의 개발 환경을 방해할 수 있습니다. 개발 중에 .htaccess 파일에서 RewriteEngine 줄을 주석 처리하여 일시적으로 비활성화합니다.
  3. .htaccess 권한 확인: .htaccess 파일 권한이 Apache2에서 수정할 수 있도록 설정되어 있는지 확인하세요.
  4. 캐시 지우기: 브라우저를 닫았다가 다시 열거나 캐시를 지워 새 캐시를 확인하세요. URL 구조가 인식됩니다.

위 내용은 mod_rewrite를 사용해도 내 CodeIgniter URL이 'index.php'를 제거하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.