Чтобы замаскировать расширения файлов, сначала включите MultiViews
в файле конфигурации VirtualHost или .htaccess
:
Options +MultiViews
Затем вы можете просто предоставить гиперссылки без расширения .html
. HTTP-сервер будет искать файл, добавляя собственное расширение. Но вы также можете добавить правило перезаписи в свой .htaccess
:
RewriteCond %{THE_REQUEST} /([^.]+)\.html
RewriteRule ^ /%1 [R=301]
Здесь вы получаете %{THE_REQUEST}
и анализируете его, чтобы перезаписать URL без .html
в конце имени файла.
Чтобы перенаправить 1/2/
на 2/
:
RewriteRule ^1/2/(.*)$ 2/$1
Обратите внимание, что в этом втором правиле вы не используете флаг [R]
, потому что вы не хотите изменять URL-адрес в браузер.
Не забудьте включить RewriteEngine
перед использованием правил перезаписи:
RewriteEngine On
Для получения дополнительной информации о перезаписи URL: https://httpd.apache.org/docs/2.4/rewrite/intro.html