дружественный URL в категориях - PullRequest
0 голосов
/ 22 апреля 2010

Я пытаюсь использовать дружественный URL для своих категорий.

Пример базы данных

cat_id    |   parent_id    |  name     |     url
  1               0            cat1          cat1
  2               1            cat2          cat2

Мой подход заключается в том, чтобы передать параметр cat со значением URL, например show.php?cat = cat1 и в .htaccess я должен переписать в / cat1

НО что делать, когда я хочу получить доступ к cat2.Я хочу переписать как cat1 / cat2, чтобы параметр был show.php? Cat = cat1 / cat2, а затем проанализировать значение, чтобы убедиться, что cat2 принадлежит cat1.

И т. Д.

Я не использую MVC, поэтому я должен сделать это самостоятельно.

Пожалуйста, если какие-либо другие решения лучше, пожалуйста, посоветуйте или предложите мне прочитать

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 22 апреля 2010

Если вы хотите переписать дружественный URL-адрес, сначала нужно сделать его дружественным, как это ... (я предполагаю, что cat1 будет подходящей категорией, такой как "музыка" или "новости", например:

www.yoursite.com/category/cat1/
show.php?cat=cat1

Обратите внимание, что у нас есть «категория», а не «кошка» - идея дружественного URL заключается в том, что он имеет смысл (и, возможно, помогает поисковым системам лучше понять вашу страницу!)

Затем вы можете переписать URL с помощью правила .htaccess.

RewriteEngine on
RewriteRule ^category/([^/\.]+)/?$ show.php?cat=$1 [L,NC,QSA]
1 голос
/ 22 апреля 2010

Вы уже сохраняете «url» в базе данных, я бы сказал, самое простое решение - просто поместить полную строку категории (включая родителей) в этот столбец базы данных.То есть:

cat_id    |   parent_id    |  name     |     url
  1               0            cat1          cat1
  2               1            cat2          cat1/cat2

Или у вас есть вопрос о синтаксисе .htaccess?

...