CodeIgniter 백엔드 프론트 엔드 .htaccess 라우터
-
18-09-2019 - |
문제
나는 프로젝트에서 자신의 사용을 위해 Codeigniter와 함께 작은 기본 CM을 개발하려고 노력하고 있지만 이것에 갇혀있었습니다. 또한 저는 CI를 처음 접했지만 ZF 및 OOP PHP에서 몇 년을 보냈습니다.
우선 내 파일 구조를 보여 드리겠습니다.
- index.php (프론트 엔드 부트 스트랩)
- Backend.php (백엔드 부트 스트랩)
- .htaccess
- 시스템 (CI 코어)
- 신청
- 백엔드
- ...] MVC 관련 파일 및 폴더 (구성, 컨트롤러, 모델, 뷰 ...)
- 프론트 엔드
- ...] MVC 관련 파일 및 폴더 (구성, 컨트롤러, 모델, 뷰 ...)
- 백엔드
- Codeigniter
- ...] (캐시, 데이터베이스, 스캐 폴딩 ...)
- 신청
확인. .htaccess로 index.php 또는 backend.php 라우팅을 작업 할 수 있지만 두 가지 모두에서 작동 할 수는 없습니다. .htaccess 코드는 다음과 같습니다.
RewriteEngine on
RewriteBase /
# Hide the application and system directories by redirecting the request to index.php (and throwing a 404 error)
RewriteRule ^(application|system|\.svn) index.php/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [QSA,L]
글쎄, 내가 필요한 것은 다음과 같습니다.
- www.domain.com/backend/controller/action/parameters (Backend.php Routing)
- www.domain.com/controller/action/parameters (Index.php 라우팅)
내가 잘 설명하기를 바랍니다.
누구든지 도와 줄 수 있습니까? :)
친애하는.
해결책
좀 더 검색 한 후, 나는 a를 찾았다 아주 좋은 기사 필요한 작업을 수행하는 방법을 문서화합니다. 또한 CI에서 백엔드/프론트 엔드의 세 가지 방법을 설명합니다.
- 별도의 응용 프로그램
- 하위 디렉터
- HMVC (계층 적 모델보기 컨트롤러)
HMVC는 내 요구에 완벽하게 맞지만 먼저 하위 디렉토리를 시도해 보겠습니다. :)
다른 팁
기본적으로 두 개의 Codeigniter 응용 프로그램을 나란히 실행하고 하나는 루트에 있고 하나는 backend/
. 이 작업을 수행하는 몇 가지 방법이 있지만 가장 간단한 것은 두 번째 인스턴스에 대한 다시 작성 규칙을 추가하는 것입니다 (제거 엘AST 플래그) :
RewriteRule ^backend/(.*)$ /backend/index.php/$1 [QSA]
RewriteRule ^(.*)$ index.php/$1 [QSA,L]
제휴하지 않습니다 StackOverflow