2012-02-29 2 views
0

하위 도메인을 클래스로 사용해야합니다. 즉, 대신 :Codeigniter에서 하위 도메인 URL 세그먼트를 클래스로 사용할 수 있습니까?

www.example.com/class/function/ID 예를 들어 www.example.com/town-name/history/1

나는

class.example.com/ 필요 기능/ID 예 town-name.example.com/history/1

나는 지금은 인터넷 검색했습니다의 nginx에서 하위 도메인을 와일드 카드와 읽은

http://codeigniter.com/user_guide/libraries/uri.html

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

http://codeigniter.com/user_guide/helpers/url_helper.html

아무것도하지만 관련. 다른 도시가 DB에 추가되면 새로운 도시와 그 세부 사항을 해결할 수 있도록해야합니다.

다시 작성, 리디렉션 등에 대한 많은 논의가 있지만 클래스 변수로 하위 도메인 마을 이름을 구체적으로 사용해야합니다. 가능한 한 아이디어 세계에서 두 가지를 함께 사용할 수는 있지만 가능한 일인지는 의문입니다.

저는 2 년 동안 평범한 구식 PHP에서 잘 돌아 왔습니다. 가능한 경우 이전 구조를 망치지 않고 codeigniter로 업그레이드하고 싶습니다. (플러스 이유가 있습니다.)

감사합니다.

답변

1

할 수 있습니다. 나는 내 프로젝트 중 하나를 위해 그것을하고있다. 컨트롤러의 생성자에서

, 단지 explode 현재 URL 및 하위 도메인을 얻고 변수

public class Controller extends CI_Controller { 

    $subdomain = null; 

    public __construct() 
    { 
     // explode url here and set $this->subdomain = the actual subdomain 
    } 

    public function index() 
    { 
     if($this->subdomain == null) { 
      show_404(); 
     } else { 
      // do what you wish 
     } 
    } 
} 
+0

당신은 매우 빠른 응답을 @Catfish 감사로 방법에 전달! 사실, 저는 CI_starter를 사용하고 있습니다. 그래서 /ci_starter/application/core/MY_controller.php를 편집하면서 조금 다른 것으로 끝을 맺었습니다. 그 결과는 http://pastebin.com/SsUWME4t에 있습니다. 작동하는 데는 se지만, 끔찍하게 잘못되어 추기경 죄를 저 지르면 알려주십시오! – talkingnews

+0

꽤 좋아 보인다. 나는 CI_Starter에 익숙하지 않다. (그것은 무엇인가?) 나는 당신이 사용하고있는 레이아웃 클래스에 익숙하지 않다. 그것 이외에 그것은 내가했던 것처럼 보인다. – Catfish

+0

CI_starter는 스파크와 같은 몇 가지 사실이있는 CI이며, http://getsparks.org/는 내가 처음 https://github.com/linuxjuggler/CI_Starter를 본 곳이었으며 레이아웃은 그 일부입니다. 레이아웃 클래스가 내가 생각하는 방식대로 작동한다면 (그리고 그것을 사용 중입니다!) "즉시"2 ~ 3 개의 다른 레이아웃 사이를 전환 할 수 있습니다. 어쨌든, 당신은 내 문제를 해결했습니다! 고맙습니다. – talkingnews

관련 문제