Top.Mail.Ru
Ответы
Аватар пользователя
14лет
Изменено
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+3

Как придать ссылкам вида <noindex> http://site.ru?p=1 </noindex> человечиский вид

Вопрос в следующем:

у меня есть php код, который выглядит примерным образом.

'page_1', 'text' => 'текст страницы №1');
$page['2'] = array('page_name' => 'page_2', 'text' => 'текст страницы №2');
$page['3'] = array('page_name' => 'page_3', 'text' => 'текст страницы №3');
$page['4'] = array('page_name' => 'page_4', 'text' => 'текст страницы №4');

print($page["$p"]);

?>

Как сделать так чтобы ссылки получались вида http://site.ru/page_1, т. е. имя страницы это было заначение массива $page["номер страницы"] с ключом 'page_name'? И что бы еще ссылки вида http://site.ru/page_1 работали, а не выдавали ошибку 404.

Я пыталась с помощью htaccess это сделать, только так и не разобралась как это сделать.
Помогите пожалуйста кто знает:)

Дополнен

как то весь код мне затер этот маил, вообщем, значение получается из GET запроса

По дате
По рейтингу
Аватар пользователя
Мудрец
14лет

все понятно. если вы планируете использовать ТОЛЬКО обозначения вида /page_ID (после этого можно дописать .htm или что угодно) то

в .htaccess
rewriteengine on
rewriterule ^/page_(\d+) index.php?p=$1 [L]

в index.php
$p = isset($_GET['p'])?(int)$_GET['p']:0;
if (!isset($page[$p]) $p = key($page); // если ID неизвестный - показать первую страницу или ваши действия
echo $page[$p]['text'];

при генерации ссылок писать page_ID вместо? p=ID