Yii では、コントローラーのアクションにアクセスする URL を「http」のみに制限する方法を見つけています。コードを配列の「式」属性に配置できるように、Yii の方法で URL を取得する方法を考えています。
質問する
99 次
2 に答える
1
ベースコントローラーにフィルターメソッドを書くことができます ( components/Controller.php
):
public function filterOnlyHttp($filterChain = null) {
if (Yii::app()->request->isSecureConnection) {
$this->redirect('http://'.$_SERVER['HTTP_HOST'].Yii::app()->request->requestUri);
}else
$filterChain->run();
}
リクエストにリダイレクトhttps://
しhttp://
ます。filters()
コントローラーのメソッドで、特定のコントローラー アクションに対してこのフィルターを構成できます。
public function filters()
{
return array(
'httpOnly',
);
}
通常、すべてのリクエストをリダイレクトする必要がある場合は、上記を (部分を除いて)のベース コントローラーのメソッドにhttps
入れることもできます。if
else
init()
components/Controller.php
于 2013-04-03T07:43:21.477 に答える
-1
defaultScheme/validSchemes を試す
array('url', 'url','defaultScheme' => 'http')
array('url', 'url','validSchemes' => array('http'));
詳細については、これを確認してくださいhttp://www.yiiframework.com/wiki/56/#hh23
于 2013-04-03T07:39:58.610 に答える