CakePHP перенаправить на внешний URL - PullRequest
4 голосов
/ 30 ноября 2011

В CakePHP я хочу создать пользовательский URL, который указывает с моего сайта на другой сайт.

Пример: example.com/google перенаправляет на http://www.google.com

Я новичок в CakePHP-самоучкой и просто не могу понять, какие шаги.Из моей домашней работы я думаю, что могу создать маршрут к контроллеру / действию в config / rout.php, но у меня нет правильной терминологии для создания действия в контроллере.

Ответы [ 4 ]

12 голосов
/ 01 декабря 2011

Если вы хотите перенаправить контроллер напрямую на внешний URL, мы можем напрямую использовать

$this->redirect('http://www.google.com');

с нашего контроллера.Он перенаправит вас на указанный адрес.Это прекрасно работает.

3 голосов
/ 01 декабря 2011

Вам не нужно «перенаправление», вы хотите создать гиперссылку.

Используйте встроенный Hakeml-помощник Cake.

В вашем контроллере ...

var $helpers = array( 'Html' );

По вашему мнению ...

echo $this->Html->link( 'Google link!', 'http://www.google.com/' );

«Перенаправление» обычно используется для обозначения перенаправления скрипта на стороне сервера.Например, после того, как пользователь заполнил контактную форму, вы можете отправить себе по электронной почте детали, а затем перенаправить пользователя на «Успех!»страница со следующим кодом контроллера

$this->redirect( '/contact/success' );
1 голос
/ 01 декабря 2011

Использование CakePHP HTML-помощник - ваш лучший выбор.

echo $this->Html->link('Link Text Here', 'http://www.anywebsiteyouwant.com);

Если это достаточно просто, вы можете просто использовать прямой HTML.

0 голосов
/ 01 июля 2013

Что вам нужно, это что-то вроде:

Router::redirect('/posts/*', 'http://google.com', array('status' => 302));

Это перенаправит / posts / * на http://google.com со статусом HTTP 302. Смотри http://book.cakephp.org/2.0/en/development/routing.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...