Одна и таже страница открывается по разным адресам

Взято с Журнал пользователя движка phpFOX 3 (Сообщение отдельно: #5671).
Добавлено Журнал продвижения интернет сайта.

Яндекс сообщил Одинаковые заголовки и описания страниц и дал пример страниц: "https://danfa.net/humor/" и "https://danfa.net/pages/4/". На самом деле это одна и таже страница, просто в первом случаи страница открывается по указанному URL, что придумал администратор страницы. Во втором случае страница открывается по ID самой страницы. То есть при создании собственного URL страницы, страница будет доступна под двум адресам... Но, это неправильно...

Я это исправляю так: открываю: "module/pages/include/component/controller/view.class.php", нахожу:
		if (!($page = phpfox::getService('pages')->getForView($id)))
		{
			return phpfox_error::display(phpfox::getPhrase('pages.the_page_you_are_looking_for_cannot_be_found'));
		}

Ниже добавляю:
		if (isset($page['vanity_url']) && $id != 0)
		{
			header('Location: ' . $page['link'], true, 301);
			exit;
		}

Теперь если у страницы есть vanity_url, то она откроется только по этой странице. Если страницу открывать по ID, сценарий переадресует на URL, что указал администратор страницы.
Немного доработал свой код. Заменил это:
		if (isset($page['vanity_url']) && $id != 0)
		{
			header('Location: ' . $page['link'], true, 301);
			exit;
		}

На это:
		$req3 = $this->request()->get('req3');

		if (isset($page['vanity_url']) && $id != 0)
		{
			$url = $page['link'];
			if (!empty($req3))
			{
				$url .= $req3;
			}

			header('Location: ' . $url, true, 301);
			exit;
		}

Объясню для чего: Если переходить на страницу по ID, но, скажем, не на главную, а например, в раздел опросов (https://danfa.net/pages/62/poll/), то первый вариант кода будет перенаправлять на главную страницу "https://danfa.net/children-world/", что может не понравится пользователю, ведь он хотел попасть в раздел опросов. Второй вариант кода изменит pages/62/ на children-world/ и перенаправит пользователя, туда, када он и хотел.
В своем коде, строки:
			header('Location: ' . $url, true, 301);
			exit;

Заменил на:
			phpfox::getLib('url')->send($url, [], null, 301);

В файле "include/library/phpfox/url/url.class.php", на данный момент, методы выглядят у меня так:
Метод "send":
	public function send($url, $params = [], $msg = null, $header = null)
	{
		if ($msg !== null)
		{
			phpfox::addMessage($msg);
		}

		$url = preg_match('/(http|https):///i', $url) ? $url : $this->makeUrl($url, $params);
		$this->_send($url, $header);
	}

Метод "_send":
	// Отправка пользователя на другую страницу / сайт
	private function _send($url, $header = null)
	{
		// Очистка буфера
		ob_clean();

		if ($header !== null && isset($this->headers[$header]))
		{
			header($this->headers[$header]);
		}

		header('Location: ' . $url);
		exit;
	} // Отправка пользователя на другую страницу / сайт End