本文整理汇总了PHP中Magento\Framework\UrlInterface::getRedirectUrl方法的典型用法代码示例。如果您正苦于以下问题:PHP UrlInterface::getRedirectUrl方法的具体用法?PHP UrlInterface::getRedirectUrl怎么用?PHP UrlInterface::getRedirectUrl使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Magento\Framework\UrlInterface
的用法示例。
在下文中一共展示了UrlInterface::getRedirectUrl方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: aroundDispatch
/**
* Auto-redirect to base url (without SID) if the requested url doesn't match it.
* By default this feature is enabled in configuration.
*
* @param \Magento\Framework\App\FrontController $subject
* @param callable $proceed
* @param \Magento\Framework\App\RequestInterface $request
*
* @return \Magento\Framework\App\ResponseInterface
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
*/
public function aroundDispatch(\Magento\Framework\App\FrontController $subject, \Closure $proceed, \Magento\Framework\App\RequestInterface $request)
{
if (!$request->isPost() && $this->_isBaseUrlCheckEnabled()) {
$baseUrl = $this->_storeManager->getStore()->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_WEB, $this->_storeManager->getStore()->isCurrentlySecure());
if ($baseUrl) {
$uri = parse_url($baseUrl);
if (!$this->_isBaseUrlCorrect($uri, $request)) {
$redirectUrl = $this->_url->getRedirectUrl($this->_url->getUrl(ltrim($request->getPathInfo(), '/'), ['_nosid' => true]));
$redirectCode = (int) $this->_scopeConfig->getValue('web/url/redirect_to_base', \Magento\Store\Model\ScopeInterface::SCOPE_STORE) !== 301 ? 302 : 301;
$response = $this->_responseFactory->create();
$response->setRedirect($redirectUrl, $redirectCode);
return $response;
}
}
}
$request->setDispatched(false);
return $proceed($request);
}
示例2: _checkShouldBeSecure
/**
* Check that request uses https protocol if it should.
* Function redirects user to correct URL if needed.
*
* @param \Magento\Framework\App\RequestInterface $request
* @param string $path
* @return void
*/
protected function _checkShouldBeSecure(\Magento\Framework\App\RequestInterface $request, $path = '')
{
if ($request->getPost()) {
return;
}
if ($this->_shouldBeSecure($path) && !$request->isSecure()) {
$url = $this->_getCurrentSecureUrl($request);
if ($this->_shouldRedirectToSecure()) {
$url = $this->_url->getRedirectUrl($url);
}
$this->_responseFactory->create()->setRedirect($url)->sendResponse();
exit;
}
}