это путь URL, который я использую в настоящее время:
/index.php?page=1&title=articles
Я хочу получить URL-путь как
/index/page-1/title-articles
используя SEO-дружественные URL-адреса в PHP.
И как получить значение «title»? Любой может помочь мне PLS.
Проверьте модуль mod_rewrite и, возможно, за хорошую отправную точку, этот учебник о том, как использовать его с PHP.
Вам нужно обеспечить две вещи:
Первую часть можно просто выполнить, используя
echo '<a href="/index/page-1/title-articles"> … </a>';
вместо
echo '<a href="/index.php?page=1&title=articles"> … </a>';
Вторая часть может быть выполнена либо с помощью функций отображения URl вашего веб-сервера (большинство веб-серверов имеют такой модуль, как mod_rewrite от Apache ). С помощью mod_rewrite будет выполнено следующее переписывание:
RewriteEngine on RewriteRule ^index/([^/-]+)-([^/]+)(.*) /index$3?$1=$2 [N,QSA] RewriteRule ^index$ index.php [L]
Первое правило будет извлекать один параметр за раз и добавлять его к запросу. Второе правило, наконец, перепишет оставшийся /index
URL-адрес в /index.php
.
Я хочу получить URL-путь как
/index/page-1/title-articles
Зачем? У меня есть два возражения:
index
– это не-информация, и я сомневаюсь, что он принадлежит URI page-1
, а также title-articles
выглядят странно. Как с index
, вы должны спросить себя, принадлежит ли эта информация здесь. Если да, то ясно, что это ключ пары ключ-значение. Или удалите его полностью. Таким образом, я предлагаю либо:
/‹article›/1
или
/‹article›/page/1
или
/‹article›/page=1
или
/‹article›[1]
или
/articles/‹article›/page/1
Или любая их комбинация. (В приведенном выше, ‹article›
является заполнителем для реального названия, другие слова являются литералами).