htaccess: Убрать расширение *.php файла из URL

Чтобы убрать расширение файла *.php из URL, добавьте правило в файл htaccess. Затем перепишите ссылки на URL без .php. В конце настройте 301 редирект но новый формат URL.

1. Вариант: Прямое сопоставление

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

# в таком случае
# https://localhost/index соответствует обращению к файлу index.php в корне локального сайта
# https://localhost/about соответствует обращению к файлу about.php в корне локального сайта

1.2 Вариант: Прямое сопоставление с добавлением косой черты в конце

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*?)/?$ $1.php

# в таком случае
# https://localhost/about соответствует обращению к файлу about.php в корне локального сайта
# https://localhost/about/ соответствует обращению к файлу about.php в корне локального сайта

2. Вариант: Через роутерный файл

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?alias=$1 [L,QSA]

# в этом случае
# https://localhost/index соответствует обращению к файлу index.php в корне локального сайта c GET переменной alias равной index
# https://localhost/about соответствует обращению к файлу index.php в корне локального сайта c GET переменной alias равной about
# https://localhost/about/me/ соответствует обращению к файлу index.php в корне локального сайта c GET переменной alias равной about/me/
htaccess 7.7 г. Просмотров: 30.4k
Оценить код:

Код был обновлён. Предыдущий рейтинг:

  • Бесполезный код - 0 голосов
  • Костыль - 0 голосов
  • Полезный код - 2 голоса

Комментарии

Ваш комментарий будет первым.
Войдите, чтобы оставить комментарий.