本文整理汇总了PHP中eZHTTPTool::createRedirectUrl方法的典型用法代码示例。如果您正苦于以下问题:PHP eZHTTPTool::createRedirectUrl方法的具体用法?PHP eZHTTPTool::createRedirectUrl怎么用?PHP eZHTTPTool::createRedirectUrl使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类eZHTTPTool
的用法示例。
在下文中一共展示了eZHTTPTool::createRedirectUrl方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: test_createRedirectUrl
/**
* Some parts of eZ do not benefit from the enhanced checks implemented
* in eZSys::isSSLNow(), especially when using an SSL reverse proxy
* configured to send the HTTP_X_FORWARDED_PROTO header.
*
* @link http://issues.ez.no/21731
*/
public function test_createRedirectUrl()
{
$path = '/a/root/rel/ative';
self::assertEquals('http://example.com' . $path, eZHTTPTool::createRedirectUrl($path, array()));
$_SERVER['HTTP_X_FORWARDED_PROTO'] = 'https';
self::assertEquals('https://example.com' . $path, eZHTTPTool::createRedirectUrl($path, array()));
unset($_SERVER['HTTP_X_FORWARDED_PROTO']);
}
示例2: redirect
/**
* \static
* Performs an HTTP redirect.
*
* \param $path The path to redirect
* \param $parameters \see createRedirectUrl()
* \param $status The HTTP status code as a string
* \param $encodeURL Encode the URL. This should normally be true, but
* may be set to false to avoid double encoding when redirect() is called
* twice.
*/
static function redirect($path, $parameters = array(), $status = false, $encodeURL = true)
{
$url = eZHTTPTool::createRedirectUrl($path, $parameters);
if (strlen($status) > 0) {
header($_SERVER['SERVER_PROTOCOL'] . " " . $status);
eZHTTPTool::headerVariable("Status", $status);
}
if ($encodeURL) {
$url = eZURI::encodeURL($url);
}
eZHTTPTool::headerVariable('Location', $url);
/* Fix for redirecting using workflows and apache 2 */
echo '<HTML><HEAD>';
echo '<META HTTP-EQUIV="Refresh" Content="0;URL=' . htmlspecialchars($url) . '">';
echo '<META HTTP-EQUIV="Location" Content="' . htmlspecialchars($url) . '">';
echo '</HEAD><BODY></BODY></HTML>';
}
示例3: redirect
/**
* Performs an HTTP redirect.
*
* @param string $path The path to redirect to
* @param array $parameters See createRedirectUrl(). Defaults to empty array.
* @param bool $status The HTTP status code as a string (code + text, e.g. "302 Found"). Defaults to false.
* @param bool $encodeURL Encodes the URL.
* This should normally be true, but may be set to false to avoid double encoding when redirect() is called twice.
* Defaults to true
* @param bool $returnRedirectObject If true, will return an ezpKernelRedirect object.
*
* @return null|ezpKernelRedirect
*/
static function redirect($path, $parameters = array(), $status = false, $encodeURL = true, $returnRedirectObject = false)
{
$url = eZHTTPTool::createRedirectUrl($path, $parameters);
if (strlen($status) > 0) {
header($_SERVER['SERVER_PROTOCOL'] . " " . $status);
eZHTTPTool::headerVariable("Status", $status);
}
if ($encodeURL) {
$url = eZURI::encodeURL($url);
}
eZHTTPTool::headerVariable('Location', $url);
/* Fix for redirecting using workflows and apache 2 */
$escapedUrl = htmlspecialchars($url);
$content = <<<EOT
<HTML><HEAD>
<META HTTP-EQUIV="Refresh" Content="0;URL={$escapedUrl}">
<META HTTP-EQUIV="Location" Content="{$escapedUrl}">
</HEAD><BODY></BODY></HTML>
EOT;
if ($returnRedirectObject) {
return new ezpKernelRedirect($url, $status ?: null, $content);
}
echo $content;
}