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/



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

  • Бесполезный код - 0 голосов
  • Костыль - 0 голосов
  • Полезный код - 1 голос
htaccess up: 1.6 г. просмотров: 16.7k