переписывание модов, слизни заголовков и htaccess
Меня пригласили дать некоторые рекомендации по SEO на веб-сайте, который работает с 2005 года. Моя проблема в том, что я хочу использовать чистые URL-адреса.
Код, обрабатывающий URL-адрес, скрыт в каком-либо файле класса. И с более чем несколькими тысячами строк кода его трудно переписать.
Итак, я думаю, что я просмотрел все продукты и создал для них пули в качестве поля в таблице продуктов. Можно ли сделать что-то вроде промежуточного файла для .htaccess?
Что-то вроде
- /чистый-слизняк-входит/
- .htaccess улавливает это и использует slug.php чтобы найти соответствующий идентификатор продукта для слизняка.
- Тогда product.php?id=(ИДЕНТИФИКАТОР.найден.от.2) загружено.
4 answers
Slug.php :
$id="ID.found.from.2";
include 'product.php';
Вы можете цепочкой переписывать правила, но AFAIK нет способа выполнить два сценария в одном запросе и использовать вывод из 1 в качестве параметра во втором.
Вы можете использовать PHP-скрипт в качестве карты перезаписи (см. RewriteMap
директива). Но это довольно сложно.
Было бы проще, если бы вы отправили слизняка своему slug.php скрипт, извлеките идентификатор из базы данных, установите $_GET['id']
с этим значением, а затем включите product.php сценарий.
Мне пришло в голову другое решение:
Все остается прежним, но slug.php будучи включенным в каждый модуль, выполняет работу по преобразованию слизней в идентификаторы
Еще лучше, если у вас уже есть какой-то конфигурационный файл, включенный в каждый модуль.