33 private $baseUrlChecker;
44 \
Magento\Framework\
App\Config\ScopeConfigInterface $scopeConfig,
45 \
Magento\Framework\
App\ResponseFactory $responseFactory
49 $this->_scopeConfig = $scopeConfig;
50 $this->_responseFactory = $responseFactory;
65 \
Magento\Framework\
App\FrontController $subject,
69 if ($this->isHttpsRedirect(
$request) || (!
$request->isPost() && $this->getBaseUrlChecker()->isEnabled())) {
70 $baseUrl = $this->_storeManager->getStore()->getBaseUrl(
71 \
Magento\Framework\UrlInterface::URL_TYPE_WEB,
72 $this->_storeManager->getStore()->isCurrentlySecure()
75 $uri = parse_url($baseUrl);
76 if (!$this->getBaseUrlChecker()->execute($uri,
$request)) {
77 $redirectUrl = $this->_url->getRedirectUrl(
78 $this->_url->getUrl(ltrim(
$request->getPathInfo(),
'/'), [
'_nosid' =>
true])
80 $redirectCode = (int)$this->_scopeConfig->getValue(
81 'web/url/redirect_to_base',
83 ) !== 301 ? 302 : 301;
85 $response = $this->_responseFactory->create();
86 $response->setRedirect($redirectUrl, $redirectCode);
103 private function getBaseUrlChecker()
105 if ($this->baseUrlChecker ===
null) {
107 \
Magento\Store\Model\BaseUrlChecker::class
111 return $this->baseUrlChecker;
123 if ($this->getBaseUrlChecker()->isFrontendSecure() &&
$request->isPost() && !
$request->isSecure()) {
__construct(\Magento\Store\Model\StoreManagerInterface $storeManager, \Magento\Framework\UrlInterface $url, \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig, \Magento\Framework\App\ResponseFactory $responseFactory)
aroundDispatch(\Magento\Framework\App\FrontController $subject, \Closure $proceed, \Magento\Framework\App\RequestInterface $request)