- Использование перезаписи URL-адресов.
Переписывание URL-адресов – это популярный метод, позволяющий перезаписывать URL-адреса в более удобном для пользователя формате. Он предполагает изменение фактической структуры URL-адресов на стороне сервера без изменения запрошенного ресурса. Вот пример того, как этого добиться с помощью модуля mod_rewrite Apache:
RewriteEngine On
RewriteRule ^articles/([0-9]+)/([a-z\-]+)$ article.php?id=$1&title=$2 [NC,L]
В приведенном выше фрагменте кода URL-адреса типа «example.com/articles/123/my-article-title» будут внутренне обработаны как «example.com/article.php?id=123&title=my-article-title».. Таким образом, URL-адрес будет выглядеть понятным и понятным для пользователей, сохраняя при этом необходимые значения параметров.
- Использование параметров запроса.
Другой подход — использовать параметры запроса для создания чистых URL-адресов. Вы можете передавать параметры через URL-адрес, а затем соответствующим образом обрабатывать их в своем PHP-коде. Вот пример:
// Original URL: example.com/article.php?id=123&title=my-article-title
$id = $_GET['id'];
$title = $_GET['title'];
// Process the parameters and generate the clean URL
$cleanURL = "example.com/articles/$id/$title";
Извлекая параметры запроса и динамически создавая чистый URL-адрес, вы можете обеспечить более удобный интерфейс, сохраняя при этом необходимые данные.
- Удаление специальных символов и пробелов.
Чтобы обеспечить чистоту URL-адресов, крайне важно удалять специальные символы и пробелы из сегментов URL-адресов. Вы можете добиться этого, используя функции манипуляции со строками PHP или регулярные выражения. Вот пример:
$title = "My Article Title!";
$cleanTitle = preg_replace("/[^a-zA-Z0-9\-]/", "", $title);
$cleanURL = "example.com/articles/$id/$cleanTitle";
В этом фрагменте кода регулярное выражение /[^a-zA-Z0-9\-]/удаляет все символы, кроме букв, цифр и дефисов. В результате получается чистый сегмент URL, который можно безопасно использовать в конечной структуре URL.