Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用.htaccess进行动态页面重定向_Php_.htaccess - Fatal编程技术网

Php 使用.htaccess进行动态页面重定向

Php 使用.htaccess进行动态页面重定向,php,.htaccess,Php,.htaccess,我已经从所有页面中删除了所有.php扩展名。它工作得很好,但在那之后,如果我用abc.php检查我的站点,它也可以工作 所以,如果有人在没有.php扩展名的情况下将abc.php写入abc页面,我如何重定向页面 下面是我在.htaccess文件中删除.php扩展名的代码 RewriteCond %{REQUEST_FILENAME}.php -f RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [QSA,L] RewriteEngine On Rew

我已经从所有页面中删除了所有.php扩展名。它工作得很好,但在那之后,如果我用abc.php检查我的站点,它也可以工作

所以,如果有人在没有.php扩展名的情况下将abc.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]

有人能帮我吗。

你可以使用以下规则:

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]

您可以使用以下一组规则:

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]