динамическое перенаправление страницы с помощью .htaccess

#php #.htaccess

#php #.htaccess

Вопрос:

Я удалил все расширения .php со всех страниц. Он работает нормально, но после этого, если я проверю свой сайт с помощью abc.php это тоже работает.

Итак, как я могу перенаправить страницу, если кто-то напишет abc.php на страницу abc без расширения .php.

Ниже приведен мой код для удаления расширения .php в файле .htaccess.

 RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule !.*.php$ %{REQUEST_FILENAME}.php [QSA,L]

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
 

Может кто-нибудь помочь мне в этом.

Ответ №1:

Вы можете использовать этот набор правил:

 RewriteEngine On

RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]

# To externally redirect /dir/file.php to /dir/file
RewriteCond %{THE_REQUEST} s/ (. ?).php[s?] [NC]
RewriteRule ^ /%1 [R=301,NE,L]

# To internally rewrite /dir/file to /dir/file.php
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(. ?)/?$ $1.php [L]