2010-08-25 3 views

ответ

1

Предлагаю вам два подхода.

Первый будет самым простым. Вероятно, вы захотите использовать mod_rewrite в Apache. Затем отправьте этот вопрос на serverfault.com.

Подсказка: конфигурация (в файле .htaccess), вероятно, будет что-то вроде:

RewriteEngine On 
RewriteRule ^/product.php?id=([0-9]+)$ /productname/$1 

Второй подход заключается в ваш product.php сценарий сказать вызывающий браузер, чтобы загрузить новый URL. Для этого рассмотрим что-то вроде:

<?php 
    $id = $_GET['id']; 

    if ($id > 0) { 
    /* Redirect browser */ 
    header("Location: http://www.mydomain.com/productname/$id"); 
    /* Make sure that code below does not get executed when we redirect. */ 
    exit; 
    } 
?> 
0

Для делать это, вам нужно будет либо название продукта, чтобы быть извлечена вместе с идентификатором для того, чтобы использовать его в выражении переписывания.

Вы также можете изучить RewriteMap, где вы можете сопоставить список идентификаторов продуктов с названиями продуктов. Очевидно, вы сделали бы это, только если у вас ограниченное количество продуктов.

Если количество продуктов является динамическим и слишком часто меняются, я предлагаю вам получить имя продукта при получении идентификатора.

Смежные вопросы