Когда я иду в http://www.xxxy.com/wp-login.php без косой черты в конце у меня есть страница 404 не найдена.
Когда я добавляю косую черту (http://www.xxxy.com/wp-login.php/), веб-сайт появляется и полностью сломан.
В моем AppController у меня есть это:
public function beforeFilter() {
$this->_setErrorLayout();
parent::beforeFilter();
}
public function _setErrorLayout() {
if ($this->name == 'CakeError') {
$this->layout = 'error';
}
}
Вы знаете, что не так, когда у нас есть лишний слеш?
Посмотрите на источник HTML, вы используете относительные пути для всех ваших активов.
<link href="css/media.css" rel="stylesheet" type="text/css">
<img src="https://web-answers.ru/wp-content/uploads/2019/03/logo.png" alt=""/>
Добавление косой черты делает wp-login.php
быть папкой, и, следовательно, css/media.css
становится /wp-login.php/css/media.css
что, конечно, не существует.
Вы должны использовать абсолютные пути, такие как /css/media.css
Который между прочим HTML-помощники CakePHP обычно генерируются автоматически при правильном использовании.
Смотрите также http://book.cakephp.org/2.0/en/core-libraries/helpers/html.html
пс. Это хорошая идея, чтобы разрешить только либо косую, либо небрежную версию, но это другая тема.
Других решений пока нет …