Проблемы с кодом перенаправления - PullRequest
0 голосов
/ 10 ноября 2011

Когда люди посещают мою главную страницу index.php, я хочу, чтобы они были перенаправлены на index.php? Page_id = 2

Для этого я добавил в код простой HTML-код:

<meta HTTP-EQUIV="REFRESH" content="0; url=http://www.domain.com/index.php?page_id=2">

Проблема в том, что назначение и все другие страницы моего сайта запускают тот код, который он выполняет по циклу. Я использую Wordpress. Есть ли решение направить их к index.php? Page_id = 2 при посещении index.php без его зацикливания?

Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

0 голосов
/ 10 ноября 2011

Чтобы избежать бесконечных циклов, просто проверьте, является ли переменная $ _GET пустой.Если так, сделайте перенаправление:

if (empty($_GET))
{
    header('Location: index.php?page_id=2');
}
0 голосов
/ 10 ноября 2011

По сути, вам нужно убедиться, что ваше «meta refresh» не вставлено, когда у index.php есть аргументы (например, page_id) в строке запроса.

Если бы вы просто делали это на PHP, вы бы написали оператор if, проверяющий содержимое строки запроса, используя хеш-таблицу $ _GET, т.е. if $ _GET ["page_id"] ...

http://www.php.net/manual/en/reserved.variables.get.php

В WordPress (о котором я знаю меньше), вы можете найти другое решение - это то, что вам нужно. Например, метаобновление на самом деле считается хуже, чем так называемое перенаправление HTTP - заголовок, который имеет тот же эффект.

В PHP это:

http://php.net/manual/en/function.http-redirect.php

Я заметил, что документация WordPress содержит ссылки на утилиты перенаправления; Я пытался предоставить ссылки, но StackOverflow заблокировал меня от включения больше. Поиск "перенаправления" в их документации может быть полезным.

В общем, я ожидал бы увидеть оператор if, который решит, следует ли выполнять перенаправление, используя механизм PHP или Wordpress '.

Надеюсь, это полезно.

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