2016-08-29 5 views
0

우리는 최근 php에서 cakephp 3으로 사이트를 업데이트했으며 매개 변수가있는 URL을 새 URL로 리디렉션하는 데 문제가 발생했습니다. 이 리디렉션Cakephp 3.1 - 쿼리 문자열 값을 기반으로 리디렉션하는 방법?

$routes->redirect('/webcast.php', '/webcast', ['status' => 302]); 

잘 작동하지만, 매개 변수가 있다면, 그것은

$routes->redirect('/webcast.php?id=100', '/webcast', ['status' => 302]); 

어떤 아이디어를 작동하지 않습니다 예를 들어

?

감사합니다.

답변

0

라우터가 쿼리 문자열에 일치하는 것을 지원하지 않으면 일치하는 경로를 확인할 때 라우터에 전달되는 URL에 더 이상 쿼리 문자열 값이 연결되지 않습니다. 이 디스패처 필터, 사용자 정의 라우팅 사용자 정의를 사용하여이 문제를 해결 할 수있을 것입니다 동안

/Router 클래스를 확장하고, 사용자 정의/RouteCollection 클래스를 확장이 쉽게 정의 할 수 있습니다 뭔가 너무 많은 일 것 같아 예 : 서버 수준의 다시 쓰기 규칙

아파치 mod_rewrite 예 : 도움말 NDM에 대한

RewriteCond %{QUERY_STRING} ^id=100$ 
RewriteRule ^webcast\.php$ /webcast? [L,R=302] 
+0

감사합니다. 이것은 완벽하게 작동했습니다. – robb