2012-04-18 4 views
1

나는 그것의 된답니다 사용자 정의 URL을 싫어 : domain.com/controller/action/id를CodeIgniter에서 맞춤 URL을 사용 중지하는 방법은 무엇입니까?

내가 좋아하는 일반 웹 사이트처럼 할 수 있습니다 방법 : 누구나하는 방법을 알고

domain.com/controller.php 그것을 해제? CI를 문서에서

+2

그렇게함으로써 무엇을 달성하려고합니까? –

+0

내 PHP _GET 쿼리를 구문 분석하려고하지만 PHP 함수가 제대로 읽을 수 없습니다. 또한 URL을 구문 분석하는 많은 기능을 가지고 있지만 사용자 정의 codeigniter URL은 작동하지 않습니다. 난 그냥 전통적인 URL 구조를 가지고 노력하고있어. – user962449

+1

아마도 MVC 프레임 워크가 올바른 선택이 아닐까요? 그것은 당신을 위해 많은 추가 작업을 만들 수도 있습니다 보인다. [custom routing] (http : // codeigniter.com/user_guide/general/routing.html) 또한 GET 매개 변수를 사용할 수 있습니다 (*는 CI에서 가능합니다). –

답변

3

당신이 그것을 싫어 경우 CodeIgniter를 같은 프레임 워크에 뛰어 준비가되지 수 있습니다. URL과 같은 나머지는 큰 특징이므로 URL에는 실제로 의미가 있으며 뭔가를 가리키는 포인터가 아닙니다. example.com/person.php?id=123&action=seeprofile과 같은 것으로 익숙하다면, example.com./person/profile/123 대신에 괜찮습니다.하지만 어떻게 그 아름다움을 볼 수 없습니까? 왜 그런 식으로해야하는지, 왜 다른 모든 사람들이 그런 식으로해야하는지 설명하는 전문가를 확인해야합니다.

편집 : 문서의이 페이지를 확인해야이 멋진 기능을 깔끔하게 이해할 수 있습니다.

http://codeigniter.com/user_guide/general/controllers.html#passinguri http://codeigniter.com/user_guide/general/routing.html http://codeigniter.com/user_guide/libraries/uri.html

+0

+1 "싫어하면 코드 서명자와 같은 프레임 워크로 이동할 준비가되지 않았을 수 있습니다." –

+0

'domain.com/file.php? id = 34 & action = now & mode = delete'를 어떻게 사용할 수 있는지 예를 들어 주시겠습니까? (파일이 클래스라고 가정) – user962449

+0

@ user962449 : 여러 가지 방법으로 설정할 수 있지만,이'domain.com/controller_name/method_name/argument_1/argument_2/etc'와 같이 규칙이 적용됩니다. [URI Class] (http://codeigniter.com/user_guide/libraries/uri.html) 및 [라우팅 기능] (http://codeigniter.com/user_guide/general/routing.html)을 사용하면 이것은 매우 유연한 접근 방식입니다. –

1

(최신 CodeIgniter를 사용하여)

: http://codeigniter.com/user_guide/general/urls.html

당신의 설정에서 URL 접미사

추가를/config.php에 당신이 추가됩니다 접미사를 지정할 수 있습니다 파일 CodeIgniter에 의해 생성 된 모든 URL. 당신은 선택적으로 페이지를 제작 또는 .html과 같은 접미사를 추가 할 수 있습니다

example.com/index.php/products/view/shoes 특정 유형의 것으로 보인다 : 예를 들어, URL이 경우

example.com/index.php/products/view/shoes.html

+0

domain.com/main.php를 갖고 싶다면 사용하지 않으면 작동하지 않습니다. 대신 domain.com/index.php?c=main을 입력하십시오. – user962449

+0

죄송합니다. 애플리케이션에서 .php 파일을 가져 와서 yoursite.com/outside.php로 제공 할 수 있습니다. outside.php에서 앱의 DB를 호출하고 싶다면 일반적인 PHP 코드 (예 : mysql_connect (서버 이름, 사용자 이름, 비밀번호);) 만 연결하면됩니다. –

+0

예, codeigniter를 사용하고 싶습니다. – user962449

1

나는 당신이 달성하려고하는 것을 이해하지 않습니다. 당신은 당신이 '사용자 정의 URL을 싫어한다고 말할 수 있습니다. 그러나 이것은 실제로 프레임 워크가 작동하는 방식의 근본적인 부분입니다.

정말 마음에 들지 않으면 routing을 조사해야하며 codeigniter 컨텍스트에서 어떻게 작동하는지 조사해야합니다. 이 아니라 컨트롤러 패턴 ID 패턴을 사용하는이 아니라도 정말 도움이 될만한 논점이 있습니다.하지만이 방법은 지원하지 않을 수 있습니다. 국제화, 단 한가지.

어쨌든 file.php 또는 my-pro-script.php를 도메인 이름에 추가하면 .php 확장자에 대해 신경 쓸 일이없는 사이트 사용자 들과는 전혀 관련이 없습니다. 이것을 원한다면 당신의 주장은 무엇입니까?

+0

내 앱에 많은 보고서와 검색이 포함됩니다. 그게 가능한 한 기본이되는 URL이 필요합니다. 그것은 커스텀 구조 imo에 더 많은 작업을합니다. CI는 코딩 시간을 줄이면 안된다고 생각합니다 ... – user962449

+0

또한 라우팅에 대한 더 많은 예제를 찾을 수 있습니까? (당신이 제공 한 링크를 제외하고). – user962449

+0

오케이, 나는 당신이 달성하기를 원하는 것을 이해한다고 생각합니다 - 여기 라우팅은 확실히 답입니다. 나는 번역 가능한 URL을 구현하는 것과 비슷한 종류의 아이디어를 조사하고 있었고 정말 좋은 해결책은 이것이다 : http://darrenonthe.net/2011/05/06/dynamic-routing-from-database-in-codeigniter/ - 기본적으로 일종의 DB 백엔드를 통해 사용자 지정 라우트를 정의하면 CI는 사용자가 질문에서 언급 한 URL 패턴 대신 정의 된 경로를 사용합니다. 보세요. 그러나 - 당신은 정말로 '단순성'에 대해 조금 더 생각해야하며 사이트의 관점에서 그것이 무엇을 의미하는지 생각할 필요가 있습니다. – dmp

0

, 은 ... 만약 당신이 원하는 수 있습니다 당신은 TRUE이 옵션을 설정하여 표준 쿼리 문자열 기반의 URL을 활성화 할 수 있습니다 config.php 파일에서 옵션 enable_query_strings 있습니다.

관련 문제