Редактирование index.php и .htaccess что б сайт принимал SEF ссылки

ataman

Новичок
Сейчас работают ссылки по таким адресам:

http://blog2/?id=2 и http://blog2/?id=3, а нужно что б выдавалось по адресу http://blog2/about и http://blog2/services

Вот листинг index.php

PHP:
<?php
    // определяем начальные данные
    $db_host = 'localhost';
    $db_name = 'blog';
    $db_username = 'root';
    $db_password = '';
    $db_table_to_show = 'pages';

    // соединяемся с сервером базы данных
    $connect_to_db = mysql_connect($db_host, $db_username, $db_password)
        or die("Could not connect: " . mysql_error());

    // подключаемся к базе данных
    mysql_select_db($db_name, $connect_to_db)
        or die("Could not select DB: " . mysql_error());
  
    if (isset($_GET['id'])) $id = (int) $_GET['id'];
    else $id = 1;
  
    // выбираем все значения из таблицы "Contacts"
    $qr_result = mysql_query("SELECT text, name FROM " . $db_table_to_show . " WHERE id='$id' ")
    or die(mysql_error());

    while($data = mysql_fetch_array($qr_result)){?>

        <title><?=$data['name'];?></title>
        <?echo $data['text'];
    }
      
    // закрываем соединение с сервером  базы данных
    mysql_close($connect_to_db);


?>



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>

<br /><a href="/?id=1">Главная</a><br />
<a href="/?id=2">Услуги</a><br />
<a href="/?id=3">О нас</a><br />
<a href="/?id=4">Контакты</a>
<body>
</body>
</html>
Содержание файла .htaccess

Код:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php [L]
AddDefaultCharset UTF-8
Содержимое таблицы MySQL pages:
 
Последнее редактирование:

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
очень здорово, и где вопрос?
 

riff

Новичок
Ты вопрос не правильно задаёшь
не
как сделать, что б http://blog2/?id=2 выдавались по адресу http://blog2/about
а "как сделать чтоб запрос http://blog2/about перенаправлялся на ?id=2"
а точнее на "http://blog2/index.php"

Вместо
RewriteRule .* index.php [L]
напиши
Код:
RewriteRule ^.+$ index.php?url=%{REQUEST_URI} [L,QSA]
теперь всё, что до "?" будет попадать в $_GET['url'] (а в скрипте ты уже волен как угодно ею распоряжаться),
а всё, что после "?" будет оставаться в нетронутом виде.

И в html вместо
<a href="/?id=2">Услуги</a><br />
писать
Код:
<a href="/service">Услуги</a><br />
 
Сверху