Переписывание URL SEO-дружественных, как вернуться назад? - PullRequest
0 голосов
/ 22 марта 2011

Учитывая, что я знаю, как установить .htaccess ...

Так что мой пользователь вместо

http://www.pets.com/products.php?id=7

увидим

http://www.pets.com/products/7/

Но как управлять URL-адресами без идентификаторов, таких как

http://www.pets.com/products/dog-food-purina 

Как я могу написать общее * правило для этого? Является ли это возможным? Я думал, что смогу написать скрипт php, который добавляет в htaccess правила одно за другим, по одному для каждой ссылки, но это кажется сумасшедшим, верно?

Что-то вроде

   #RewriteRule ^dog-food-purina/$  product.php?id=1 [NC,L]  
   #RewriteRule ^dog-food-otherbrand/$  product.php?id=2 [NC,L]  
   ...etc... 

Ответы [ 2 ]

1 голос
/ 22 марта 2011

Почему бы не сделать дополнительный уникальный идентификатор в вашей базе данных, чтобы строка данных имела как уникальный идентификатор (7), так и уникальный "слизень" (dog-food-purina)? Таким образом, вы можете искать строки любым способом, просто перенаправляя slug или ID в ваш PHP-скрипт и обрабатывая все это там.

For example: your purina row can be as follows:
row -> id = 1
row -> name = "Purina Dog Food"
row -> description = "This is awesome stuff!"
row -> slug = "dog-food-purina"
row -> quantity = "10lbs"
row -> price = "5"

А затем сделайте что-то вроде этого:

if (is_string($param) && !empty($param)) {
    $sql = "SELECT * FROM products WHERE slug = '{$param}'"
} else if (is_numeric($param) && $param > 0) {
    $sql = "SELECT * FROM products WHERE id = {$param}"
} else return false

Надеюсь, это поможет

0 голосов
/ 22 марта 2011

Да, это не нужно.Почему бы не переслать что-либо после / products / на products.php, и этот скрипт выполнит поиск по мере необходимости?(т.е. он будет определять идентификатор или выполнять поиск на основе имени)

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