>백엔드 개발 >PHP 튜토리얼 >CodeIgniter 2.0 URL에서 \'index.php\'를 제거하는 방법은 무엇입니까?

CodeIgniter 2.0 URL에서 \'index.php\'를 제거하는 방법은 무엇입니까?

DDD
DDD원래의
2024-11-19 09:23:03267검색

How to Remove

CodeIgniter 2.0의 URL에서 "index.php" 제거

문제:

다양함 사용자는 CodeIgniter 2 URL에서 "index.php" 세그먼트를 제거하는 데 어려움을 겪습니다. CodeIgniter 1.7에서 사용된 이전 솔루션은 더 이상 충분하지 않습니다.

문제 해결 단계:

1. 재작성 규칙:

  • 사용자의 쿼리에 따라 다양한 .htaccess 코드가 시도되었지만 성공하지 못했습니다. 특히 제공된 첫 번째 코드 조각에는 문제의 원인이 될 수 있는 "RewriteBase /"가 포함되어 있습니다. 다시 쓰기 규칙에서 "/index.php" 제거: .htaccess 코드를 다음과 같이 수정합니다:
RewriteEngine On
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/ [L]

RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /index.php?/ [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/ [L]

2. URI 프로토콜 및 인덱스 페이지:

  • $config['uri_protocol']가 config.php 파일에서 REQUEST_URI로 설정되어 있는지 확인하세요.
  • $config['index_page 설정 ']를 이미 했던 것처럼 빈 문자열("")로 바꿉니다.

3. 파일 구조:

  • 사용자가 지정한 대로 파일 구조가 올바른지 확인하세요: 192.168.0.130/(site)/.
  • 기본 폴더가 다음과 같은지 확인하세요. : 애플리케이션, CI-2.0, index.php

4. .htaccess 최적화:

  • 다음과 같은 최적화된 .htaccess 코드를 사용해 보세요.
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/(site)/ [L]
  • "/(site)/"를 실제 코드로 바꾸세요. 사이트 폴더 이름

5. 경로 구분 기호 변경:

  • 경우에 따라 경로 구분 기호를 "/"에서 ""로 변경하면 문제가 해결될 수도 있습니다.

6. 지원 문의:

  • 위의 해결 방법 중 어느 것도 효과가 없으면 CodeIgniter의 공식 지원 채널에 문의해 보세요.

위 내용은 CodeIgniter 2.0 URL에서 \'index.php\'를 제거하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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