Убираем .html, .php и .htm в конце URL-адресов на Apache/Nginx
Часто слышу, что сеошники советуют убирать окончания .html, .php и .htm в адресах ваших сайтов – якобы, это негативно влияет на продвижение. Кто-то же говорит, что это просто визуально добавляет адресу лишний мусор.
В любом случае, убирать или оставлять эти окончания, решать вам, я же покажу, как это реализовать на статичном сайте (то есть сайте, находящемся не на CMS). Почему только на статичном? Потому что для различных CMS это реализовывается разными методами, о которых я также расскажу в последующих статьях.
Не утверждаю на 100%, что этот метод не будет работать на какой-то из CMS – пробуйте и о результатах отписывайтесь в комментариях.
Убираем .html, .php и .htm на Apache
Как вы знаете, в Apache существует файл .htaccess, который содержит в себе набор настроек и конфигураций сервера. С его помощью мы и будем убирать ненужные нам окончания.
1. Подключитесь к сайту по FTP и в корне сайта найдите файл .htaccess. Откройте его. Если такой файл отсутствует – создайте.
2. Найдите строчку, содержащую:
RewriteEngine On
Сразу после нее вставьте следующие правила.
Если вам необходимо убрать .php:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^.]+)$ $1.php [NC,L]
Если вам необходимо убрать .html:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^.]+)$ $1.html [NC,L]
Если вам необходимо убрать .htm:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^.]+)$ $1.htm [NC,L]
Если строчка «RewriteEngine On» отсутствует в файле – добавьте ее в самое начало.
После чего сохраните изменения и отправьте файл обратно на сайт. Если раньше адреса на вашем сайте были вида
https://www.pandoge.com/page.php
то теперь вы можете открыть эту страницу по адресу:
https://www.pandoge.com/page
Убираем .html, .php и .htm на Nginx
1. Для того чтобы подобную настройку произвести в Nginx, откройте файл конфигурации по адресу:
/etc/nginx/nginx.conf
в FTP (если вам позволяют права) либо через панель управления сервером.
2. Далее, в секцию location / {…}, вставляем необходимые правила.
Если вам необходимо убрать .php:
rewrite ^/([^.]+)$ /$1.php break;
Если вам необходимо убрать .html:
rewrite ^/([^.]+)$ /$1.html break;
Если вам необходимо убрать .htm:
rewrite ^/([^.]+)$ /$1.htm break;
Если в процессе настройки у вас что-то не получается – пишите об этом в комментариях.