2010-08-02 7 views
1

호스트하려는 호스트가 서버 쪽 URL 다시 쓰기를 지원하지 않으므로 URL을 다시 쓰려면 타사 도구를 설치할 수 없습니다.깨끗한 URL을 생성하려면 MVC FrameW를 사용해야합니까?

Windows 용 Coldfusion 8, IIS입니다.

내가 알고있는 또 다른 대안은 프레임 워크를 사용하는 것입니다. 그러나 응용 프로그램이 그대로 작동하기 때문에 (URL) 그 라우트 (시간)를 사용하고 싶지 않습니다.

순전히 CF로 URL을 정리할 수 있습니까? seo를위한 깨끗한 URL이 필요하지 않습니다. 사용자가 페이지를 쉽게 참조 할 수 있도록하기위한 것입니다. 예 : youtube.com/userpage

모든 sugessions?

프레임 워크를 사용하는 것이 유일한 선택이면 기존 cfml과 가장 호환되는 프레임 워크 인 cfm의 & CFC? 프레임 워크가 구현되지 않은 응용 프로그램에서 프레임 워크로 변환 할 때 코드를 최소한으로 변경해야합니다.

당신 께 감사드립니다.

답변

3

번호의 저자 (NO 통지 index.cfm).

IIS에서 404 오류에 대한 사용자 지정 오류 페이지를 설정할 수 있습니다. 사용자 정의 오류 페이지가 서버의 ColdFusion 페이지 (예 : /urlhandler.cfm, 404.cfm 또는 index.cfm)를 실행하게하십시오. 해당 페이지 내에서 cgi.query_string 값에 대한 목록 메서드를 사용하여 ColdFusion으로 자신의 경로를 제어 할 수 있습니다. IIS는 404와 비슷한 URL을 제공합니다. http://domain.com/the/original/url을 분석하여 방문자를 원하는 이벤트로 라우트 할 수 있습니다.

<!--- Get URL String ---> 
<cfset CurrentURL = ListGetAt(cgi.query_string, 2, ";")> 
<cfset CurrentURL = Replace(CurrentURL, ":80", "")> 
<cfset CurrentURL = Replace(CurrentURL, ":443", "")> 
<cfset CurrentURL = Replace(CurrentURL, "403;", "")> 
<cfset CurrentURL = Replace(CurrentURL, "'", "", "ALL")> 

Google은 한 달에 약 100 만 방문자를 수용하는 사이트에서이 방법으로 SES URL을 실행하고 있습니다. 내가 고용되었을 때 나는 충격을 받았고 사이트의 핵심에이 기존 코드를 찾아서 반복하지 않을 것이지만, rewriter 또는 제 3 자 프레임 워크 (이 클라이언트는 사이트에 제한을 두었습니다) 설치에 제한이 있다면 솔루션이 당신을 위해 작동 할 수 있습니다.

위의 코드로 재생하면 CF를 사용하여 원하는 .CFM 파일을 동적으로 포함하거나 설정에 따라 올바른 CFC 코드를 어떻게 실행하는지 빠르게 볼 수 있습니다.

+0

http://coldcourse.riaforge.org/를 사용하여 구문 분석을 처리 할 수 ​​있습니다. 당신의 노선. 이것은 ColdBox SES 라우팅 시스템에 영감을 준 프로젝트입니다. –

+0

흥미로운 접근 방식 Aaron은이 옵션을 사용하지 않을 생각입니다. 응답 헤더 코드 404를 다시 보내지 않습니까? 또한 Nich는 404 오류 페이지 (대부분의 호스트에서 사용 가능해야 함)를 사용자 정의 할 수 있어야합니다. – eapen

+0

아니요, 클라이언트에게는 보이지 않습니다. 선택의 여지가 있다면 ColdBox와 Apache 또는 IIS를 Microsoft의 rewriter로 선택합니다. 그러나 나는 이것이 그의 질문에 대한 확실한 대답이라고 생각한다. –

3

프레임 워크/1 프레임 워크 또는 CFWheels을 사용하여 깨끗한 URL을 얻을 수 있지만 ColdFusion의 응용 프로그램 처리기 코드를 트리거하려면 URL 시작 부분에 "/index.cfm/"을 포함시켜야합니다.

편집 : URL에 'index.cfm'이 표시되지 않게하려면 Aaron Greenlee의 조치를 참조하십시오.

즉 어느 접근 방식은 URL을 (아파치를 사용하지 않는)를 다시 작성하는 타사 도구를 추가 할 수없는 경우, 가지고, 당신의 URL의는 http://site.com/index.cfm/section/item

등의 형태로 될 것입니다. http://site.com/index.cfm/user/login http://site.cfm/index.cfm/user/signup

FW/1뿐만 아니라 검색 엔진 친화적 인 형식으로 URL 변수에 전달하는 옵션을 제공합니다.

예 :

http://site.com/index.cfm/user/login/email/[email protected]/password/testhttp://site.com/index.cfm/user/[email protected]&password=test 과 동일는 http://site.com/index.cfm?action=user.login&[email protected]&password=test

+0

감사합니다. 프레임 워크가 깨끗한 URL을 렌더링하기 위해 타사 도구가 필요하다는 것을 몰랐습니다. – Nich

+0

안전하고 좋은 지원을 받고 필요한 것을 제공 할 수있는 평판이 좋은 대체 호스트가 있습니까? – Nich

+0

IIS를 사용하는 경우 CF가 JPG 파일, GIF 파일에 대한 요청을 차단하지 않습니다. CF는 .cfm 또는 .cfc 파일 확장명 만 가로 채기 때문에 타사 도구를 사용하는 경우 CF에 처리하도록 요청하는 규칙을 작성할 수 있습니다 (시작 부분에 /index.cfm/을 추가하도록 요청). 그러나 프레임 워크는 /index.cfm없이 URL을 생성 할 수 있으며 친숙한 형식 인 http://site.com/user/login을 사용할 수 있습니다. HostmySite (pricey) 또는 Alurium (Railo를 사용하고 규칙이있는 .htaccess 파일을 추가 할 수있는 Apache가 있음)에 대해서는 확실하지 않음 – eapen

1

가서 프레임 워크를 배울 수와 동일합니다. 최대량은 이것을 위해 작동 할 것이다. 그러나 당신이 프레임 워크를 배우고 싶지 않다면. 가 실행

www.mysite.com/products/ : www.mysite.com/products/index.cfm

www.mysite.com/products/books 가 실행됩니다 : www.mysite합니다.

프레임 워크/1과 CFZen이 작동하기 때문에 매우 간단 할 수있는 매우 간단한 1 파일 프레임 워크입니다.

CFZen이 http://cfzen.riaforge.org http://cftipsplus.com/blog/?tag=cfzen

프레임 워크/ http://fw1.riaforge.org http://corfield.org 1 - 당신이 일을 http://domain.com/some/url을 얻을 수있는 프레임 워크 또는 URL 라이터가 필요하지 않습니다 프레임 워크/1

관련 문제