Лучший способ работать с SEO URL с помощью PHP - PullRequest
0 голосов
/ 21 октября 2011

У меня есть файл PHP с именем books.php, и я хотел бы использовать SEO-URL с использованием htaccess и PHP.

Я хотел бы создать правила для следующих форматов:
books.php?bookid=X (Необязательно: books.php?bookid=X&page=Y)
books.php?categoryid=X (Необязательно: books.php?categoryid=X&page=Y)
books.php?do=search&query=X
books.php?do=search&tag=X

Они будут доступны через:
/books/book/{booktitle}
/books/category/{categorytitle}
/books/search/{search_string}
/books/tags/{tagtext}

Что я хотел бы знать, так это основная идея для этого.
Спасибо!

Ответы [ 3 ]

5 голосов
/ 21 октября 2011

Я считаю, что проще просто сделать что-то вроде этого:

/books/book/9834/{title}

Где число - это идентификатор базы данных, а текстовый заголовок просто выбрасывается PHP.Это не так чисто, но есть слишком много проблем, связанных с уникальностью, если вы попытаетесь передать заголовок в SQL-запрос IMO.

Посмотрите здесь генератор mod-rewrite для помощи в построении правил.

4 голосов
/ 21 октября 2011

Ключевой момент здесь фактически происходит вне PHP. Вы хотите сообщить своему веб-серверу, что вместо того, чтобы просто искать файл или каталог с заданным именем, вы фактически хотите, чтобы / books / foo / bar вызывал books.php с параметрами foo и bar. Если вы используете Apache, взгляните на это: htaccess mod_rewrite

Как только вы это настроите, я бы порекомендовал перенаправить все старые URL-адреса books.php в их новый эквивалент "SEO URL". Рекомендуется использовать только один действительный URL-адрес для каждой страницы.

1 голос
/ 21 октября 2011

Как насчет использования микро-фреймворка или полноразмерного фреймворка ?

Это проблемы, которые они решают, поэтому вы можете сосредоточиться наваше приложение вместо создания ваших инструментов.

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