Как изменить внешний вид URL с помощью .htaccess, но сохранить функциональность php? - PullRequest
0 голосов
/ 04 апреля 2020

Я пытаюсь учиться, поэтому, пожалуйста, будьте добры. Мой сайт управляется базой данных и использует идентификационные номера для генерации страниц. Мне бы хотелось, чтобы в URL-адресе не отображался идентификационный номер, а название страницы. Есть ли способ сделать это, когда это просто косметика c и не влияет на сайт? Я также, скорее всего, напортачу, как пишу перенаправление, так как оно вообще не работает? Что я делаю неправильно? Спасибо.

Вот так выглядит мой URL:

http://mydomainname.com/index.php?id=35-Entertainment

Мне бы хотелось, чтобы это выглядело так:

http://mydomainname.com/Entertainment

RewriteEngine On

RewriteRule ^([^/d]+)/?$ index.php?id=$1 [L,QSA]

1 Ответ

0 голосов
/ 04 апреля 2020

К сожалению, нет способа сделать это.

Процесс в этом случае следующий:

  1. Пользователь вводит URL. В этом случае вам нужен красиво отформатированный URL (http://mydomainname.com/Entertainment)
  2. Пользователь отправляет этот URL на ваш сервер
  3. Apache обрабатывает URL и указывает его на каталог вашего проекта, основанный на домене, используемом в URL
  4. Там Apache использует htaccess, чтобы увидеть, что делать дальше. В этом случае лучший способ, скорее всего, будет использовать RewriteRule ^(.*)$ index.php?url=$1 [QSA,L] или что-то подобное
  5. Тогда вам нужно выполнить маршрутизацию в вашем приложении. Вы можете использовать таблицу маршрутизации, например, чтобы сопоставить красиво отформатированный слаг с комбинацией модуль / идентификатор

Этот процесс не может быть выполнен с помощью Apache, так как он не знает о содержимом, присутствующем в Ваша база данных.

Надеюсь, это поможет вам.

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