Эффективный способ реализации постоянных ссылок в PHP
Вопрос
Каков наиболее эффективный способ реализации постоянных ссылок на основе PHP?
По сути, я хочу свести доступ к базе данных до минимума.
Каков наилучший способ перенаправления на идентификатор, хранящийся в базе данных?
Решение
Вы можете использовать URL-адрес на основе идентификатора базы данных, как это делает SO:
http://stackoverflow.com/questions/1265061/efficient-way-to-realize-permalinks-in-php
или
http://stackoverflow.com/questions/1265061
оба идут в одно и то же место.
Обычно это делается с помощью перенаправления mod_rewrite на ваш php-файл из .htaccess.
RewriteRule ^/questions/([0-9]+)/?.*$ /questions.php?id=$1
Правило перезаписи отбрасывает все после идентификатора, так что вы даже можете перейти к
http://stackoverflow.com/questions/1265061/not-the-questions-title-anymore
И вы все равно доберетесь до места назначения.Вам нужно будет добавить «слабы заголовка» к фактическому URL-адресу, на который «ссылаются», когда вы генерируете ссылки в php — это улучшит вашу дружественность к поисковым системам...
Другие советы
Используйте простое сопоставление URL-адресов с идентификаторами, чтобы получить идентификатор на основе URL-адреса:
+----------+----+
| URL path | ID |
+----------+----+
| /foo | 1 |
| /bar | 2 |
| /bar/baz | 3 |
| … | … |
+----------+----+