Как я могу сохранить один и тот же URL в адресной строке для каждой страницы? - PullRequest
6 голосов
/ 17 августа 2011

У меня есть сайт, созданный с помощью Codeigniter, где много страниц и каталогов.

Скажем, имя сайта www.example.com (это страница индекса).Если пользователь переходит на другую страницу, например, нажимая ссылку «о», как я могу изменить имя сайта , а не в адресной строке для всех страниц?

Ответы [ 3 ]

2 голосов
/ 17 августа 2011

Это плохая идея , если ни для чего иного, что она не позволяет пользователям иметь возможность добавить ваш сайт в закладки.

Однако есть два способа сделать это, если вынамерение в этом направлении (и я действительно предлагаю вам повернуть назад, пока не стало слишком поздно).Вы можете загрузить все в iframe:

<!-- your site might look like this then -->
<html>
   <body><iframe src="http://path.to.your.real.site" />
</html>

И свойство src будет перенаправлять на другой URL, который на самом деле имеет все динамические URL.

Другой вариант - AJAX.Это действительно слишком долго и сложно для примера.

0 голосов
/ 18 февраля 2016

Используйте FRAMESET ИЛИ Используйте Ajax

<FRAMESET ROWS="100%,*" BORDER=0 FRAMEBORDER=0 FRAMESPACING=0>
     <FRAME NAME="top" SRC="/Login .aspx or .php" NORESIZE>
</FRAMESET>
0 голосов
/ 17 августа 2011

Не уверен насчет codeigniter, но вы можете сделать это на обычном php следующим образом:

  1. Ваш URL всегда отображается на одну функцию php "фасад" (возможно, даже "index.php").
  2. В навигации по вашей странице вы всегда "POST" из формы.Никогда не используйте «href =»
  3. В FORM у вас есть пара скрытых полей, в которых записаны текущие и запрошенные страницы.
  4. Когда ваш php «фасад» запускается, вы проверяете «current» и«запрошенные» поля формы и вызовите соответствующий код для отображения «запрошенной» страницы.

В качестве альтернативы вы можете использовать «куки» вместо скрытых полей формы и некоторый простой javascript для установки значения«запрошенный» файл cookie.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...