- Базовое перезапись URL-адресов с помощью.htaccess:
Первый шаг — включить перезапись URL-адресов, создав или изменив файл.htaccess в корневом каталоге вашего веб-сайта. Вот простой пример:
RewriteEngine On
RewriteRule ^product/([0-9]+)/?$ product.php?id=$1 [NC,L]
В этом примере любой запрос к https://example.com/product/123
будет внутренне перенаправлен на https://example.com/product.php?id=123
. Флаги [NC,L]
указывают, что правило перезаписи должно быть нечувствительно к регистру (NC) и процесс перезаписи должен быть остановлен (L), если это правило соответствует.
- Создание чистых URL-адресов.
Чистые URL-адреса не только более привлекательны визуально, но и пользователям легче их запомнить и поделиться ими. Вот пример того, как перезаписать динамический URL-адрес в чистый URL-адрес:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^article/([a-zA-Z0-9_-]+)/?$ article.php?slug=$1 [NC,L]
В этом случае запрос к https://example.com/article/awesome-blog-post
будет внутренне перенаправлен на https://example.com/article.php?slug=awesome-blog-post
. Директивы RewriteCond
гарантируют, что правило перезаписи не будет применяться к существующим файлам и каталогам.
- Удаление расширений файлов.
Если вы хотите удалить расширения файлов из своих URL-адресов, вы можете добиться этого с помощью перезаписи URL-адресов. Например:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9_-]+)/?$ $1.php [NC,L]
При использовании этого правила запрос к https://example.com/about
будет внутренне перенаправлен на https://example.com/about.php
. Расширение файла .php
скрыто от пользователя, поэтому URL-адреса становятся более понятными.
- Перенаправление URL-адресов.
Переопределение URL-адресов не ограничивается внутренними перенаправлениями; вы также можете выполнять перенаправление URL-адресов. Допустим, вы переместили страницу и хотите перенаправить старый URL-адрес на новый:
RewriteEngine On
Redirect 301 /old-page https://example.com/new-page
Это правило навсегда перенаправляет любой запрос с адреса https://example.com/old-page
на https://example.com/new-page
с кодом состояния 301. Важно использовать постоянные перенаправления, чтобы сохранить рейтинг SEO и обеспечить удобство взаимодействия с пользователем.
- Настройка страниц ошибок.
Переписывание URL-адресов также можно использовать для настройки страниц ошибок. Например, вы можете перенаправить пользователей на специальную страницу ошибок, когда они сталкиваются с ошибкой 404:
ErrorDocument 404 /404.php
Это правило предписывает серверу обслуживать файл 404.php
при возникновении ошибки 404. Вы можете создать собственную страницу ошибок, содержащую полезную информацию и возможности навигации для ваших пользователей.
В заключение, переписывание URL-адресов на PHP с использованием.htaccess открывает мир возможностей для создания чистых, удобных для пользователя URL-адресов и оптимизации вашего веб-сайта для поисковых систем. Используя возможности mod_rewrite и сочетая его с PHP, вы можете получить полный контроль над URL-адресами вашего веб-сайта и обеспечить более удобный пользовательский интерфейс.
Итак, чего же вы ждете? Давайте приступим к реализации этих методов переписывания URL-адресов, чтобы сделать ваш сайт сияющим!