Как перенаправить (сделать редирект) с файлов с расширением на теже пути без расширений (например /page.php -> /page) в .htaccess?

Если сервер читает файл .htaccess в корне сайта, то можно в него прописать следующее:

RewriteEngine On

Как не делать перенаправлений в определённой дирректории в .htaccess?

Ниже код обозначающий дирректорию в которой не будет перенаправлений

RewriteRule ^(app) - [L]

Как не делать перенаправлений определённых файлов в .htaccess?

Кроме файла /mail.php

RewriteRule ^(mail.php) - [L]

Сам код перенаправления с расширения .php на пути без разрешений

RewriteCond %{THE_REQUEST} \s/+(.+?)\.php[\s?] [NC]
RewriteRule ^ /%1 [R=302,L,NE]

Весь код перенаправлений c расширения на без расширения в .htaccess

# !Иногда сервер не понимает когда html убрано он не находит файл без разрешения
RewriteEngine On
# /dir/file.php to /dir/file
# Как не делать перенаправлений в определённой дирректории в .htaccess?
RewriteRule ^(app) - [L]
# Как не делать перенаправлений определённых файлов в .htaccess?
RewriteRule ^(mail.php) - [L]
# Сам код перенаправления с расширения .php на пути без разрешений
RewriteCond %{THE_REQUEST} \s/+(.+?)\.php[\s?] [NC]
RewriteRule ^ /%1 [R=302,L,NE]



# ЕЩЁ ПРИМЕРЫ С STACKOVERFLOW:  
# https://stackoverflow.com/questions/21617506/remove-html-and-php-extensions-with-htaccess/48746996#answer-48746996 
# If you want to remove .php completely, you can use the following rules 
RewriteEngine on 
#redirect /file.php to /file
RewriteCond %{THE_REQUEST} \s/([^.]+)\.php [NC]
RewriteRule ^ /%1 [NE,L,R]
# now we will internally map /file to /file.php
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)/?$ /$1.php  [L]

# To remove .html ,use this
RewriteEngine on
#redirect /file.html to /file
RewriteCond %{THE_REQUEST} \s/([^.]+)\.html [NC]
RewriteRule ^ /%1 [NE,L,R]
# now we will internally map /file to/ file.html
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.*)/?$ /$1.html  [L]