2017-02-09 1 views
0

내 응용 프로그램 URL "localhost/crdlabs/PHP""localhost/crdlabs/home/display/PHP"으로 이동합니다. 이는 route.php를 사용하여 수행됩니다. 규칙은 다음과 같습니다.codeigniter의 다른 클래스에 대한 라우팅 규칙 설정

$route['(:any)'] = "home/display/$1"; 

이제 컨트롤러 이름이 displayarticles() 인 다른 컨트롤러 클래스가 있습니다. 이 클래스의 현재 URL은 "localhost/crdlabs/displayarticles/article/learning-coding"입니다. 위의 라우팅을 새 컨트롤러에 사용할 수 없다는 것을 알고 있습니다. URL을 "localhost/crdlabs/learning-coding"처럼 보이도록 현재 규칙에 대한 라우팅 규칙을 설정하는 방법

참고 : learning-coding 부분이 동적으로 설정됩니다. 즉, 동일한 컨트롤러로 이동해야하는 여러 기사가 있음을 의미합니다.

어떤 도움이나 조언을 부탁드립니다.

+0

http://stackoverflow.com/questions/38828542/url-hide-using-codeigniter/38830126#38830126 – shafiq

답변

1

현재 라우팅 규칙. 이처럼 사용할 수 없습니다 낭포

$route['(:any)'] = "home/display/$1"; 

는 경로 localhost/crdlabs/learning-coding .SO localhost/crdlabs/home/display/argumentlocalhost/crdlabs/argument 후 나타나는 라우팅 아무것도 localhost/crdlabs/home/display/learning-coding로 리디렉션됩니다 것입니다.

는하지만 다음과 같은 라우팅 규칙을 사용하여

localhost/crdlabs/articles/learning-coding 

에 당신의 기사

localhost/crdlabs/displayarticles/article/learning-coding 

를 표시하는 것이 좋습니다.

$route['articles/(:any)'] = "displayarticles/article/$1"; 

최고가 될 것입니다.

+0

아이디어를 주셔서 감사합니다. 이미이 방법을 알고 있었지만 첫 번째 컨트롤러로했던 방식대로 할 방법을 찾고 있습니다. 내가하고 싶은 일을 할 수있는 방법이 없다면 나는 너의 것을 선택 하리라. – user7321290

+0

나는 당신이 이것을 달성 할 수 있다고 생각하지 않는다. 왜냐하면'$ route [ '(: any)']'는 항상 경로를'home/display/$ 1'로 강제한다. –

+0

네, 저는 당신과 같은 의견입니다. 나는 이것을 염두에두고 SEO를 유지하고 싶었다. – user7321290