используя seo, удобный в php

это путь URL, который я использую в настоящее время:

/index.php?page=1&title=articles 

Я хочу получить URL-путь как

 /index/page-1/title-articles 

используя SEO-дружественные URL-адреса в PHP.

И как получить значение «title»? Любой может помочь мне PLS.

Проверьте модуль mod_rewrite и, возможно, за хорошую отправную точку, этот учебник о том, как использовать его с PHP.

Вам нужно обеспечить две вещи:

  1. ваше приложение правильно печатает новые URL-адреса и
  2. ваш веб-сервер может понять, что новые URL-адреса и переписывает их на вашу внутреннюю схему, или перенаправляет их обратно в ваше приложение, а ваше приложение делает все остальное.

Первую часть можно просто выполнить, используя

 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 

Зачем? У меня есть два возражения:

  1. index – это не-информация, и я сомневаюсь, что он принадлежит URI
  2. page-1 , а также title-articles выглядят странно. Как с index , вы должны спросить себя, принадлежит ли эта информация здесь. Если да, то ясно, что это ключ пары ключ-значение. Или удалите его полностью.

Таким образом, я предлагаю либо:

 /‹article›/1 

или

 /‹article›/page/1 

или

 /‹article›/page=1 

или

 /‹article›[1] 

или

 /articles/‹article›/page/1 

Или любая их комбинация. (В приведенном выше, ‹article› является заполнителем для реального названия, другие слова являются литералами).