Как заставить мой сайт использовать чистые URL-адреса?

Приведенный ниже код создает такие ссылки, как "site.com/image.php?id=12", но есть ли у кого-нибудь советы по созданию таких ссылок, как "site.com/image/12" или что-то подобное, без вручную создавать страницу для каждого отдельного идентификатора?

    $result = mysqli_query($con,"SELECT * FROM tabl1 where name like '%$s%'");
    while($row = mysqli_fetch_array($result))
      {
    echo "<a href='image.php?id=" . $row['id'] . "'>" . $row['Name'] . "</a>";
    echo "<br>";
    }

У меня есть код на странице image.php, который выглядит примерно так

 $result = mysqli_query($con,"SELECT * FROM celeb where id like '$id'");

который использует идентификатор из части ?id=12 на моем веб-сайте, поэтому я не уверен, как это будет работать, если я изменю его на чистые URL-адреса.

Любая помощь будет полезна, я здесь новичок в php.

РЕДАКТИРОВАТЬ:

RewriteEngine On 
RewriteRule ^image/id/([^/]*)\.php$ /image.php?id=$1 [L] 

Я создал файл .htaccess и поместил его в него, но когда я нажимаю на ссылку, она все равно переходит на image.php?id=12 Я делаю что-то не так? Есть ли что-то еще, что я должен сделать?


person scorgn    schedule 21.07.2013    source источник
comment
погуглите это ключевое слово: apache mod_rewrite   -  person    schedule 22.07.2013
comment
Я читал об этом без успеха. Должен ли я что-то изменить в моем php-коде?   -  person scorgn    schedule 22.07.2013
comment
Если вы правильно настроите apache с mod_rewrite, то нет, вам вообще не нужно будет менять свой код.   -  person Jordan Denison    schedule 22.07.2013


Ответы (1)


Этот сайт сделает всю работу за вас http://www.generateit.net/mod-rewrite/

The original URL:
http://site.com/image.php?id=12
The rewritten URL:
http://site.com/image/12

htaccess:
RewriteEngine On
RewriteRule ^image/([^/]*)$ /image.php?id=$1 [L]
person JimL    schedule 21.07.2013
comment
RewriteEngine On RewriteRule ^image/id/([^/]*)\.php$ /image.php?id=$1 [L] Я создал файл .htaccess и поместил его в него, но когда я нажимаю на ссылку, она все равно переходит на image.php?id=12 Я делаю что-то не так? Есть ли что-то еще, что я должен сделать? - person scorgn; 22.07.2013
comment
Ваш URL-адрес, по которому вы собираетесь http://site.com/image/12? Или http://site.com/image.php?id=12, и ожидая, что он автоматически перейдет на http://site.com/image/12 - person Oberst; 22.07.2013
comment
Нет, это то, что я имел в виду, извините за путаницу. Принятие ответов — это здорово, так как другие знают, что они могут перейти к следующему вопросу ^^ - person JimL; 22.07.2013