我从所有页面上删除了所有.php扩展名。它工作正常,但是在那之后,如果我使用abc.php检查我的网站,它也可以工作。
因此,如果有人将abc.php写入不带.php扩展名的abc页面,该如何重定向页面。
以下是我用于删除.htaccess文件中的.php扩展名的代码。
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]
有人可以帮我吗?
答案 0 :(得分: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]