.htaccess htaccess:Remove.php扩展名

.htaccess htaccess:Remove.php扩展名,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,我有一个名为Show.php的文件 我想删除它的.php扩展名,如果有人请求/Show.php,请将其重定向到不带.php扩展名的页面 这是我的htaccess,但它不会将用户重定向到无扩展页 RewriteCond %{REQUEST_URI} ^Show\.php$ RewriteRule ^Show\.php$ ./Show [R=301] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f Re

我有一个名为Show.php的文件

我想删除它的.php扩展名,如果有人请求/Show.php,请将其重定向到不带.php扩展名的页面

这是我的htaccess,但它不会将用户重定向到无扩展页

RewriteCond %{REQUEST_URI} ^Show\.php$
RewriteRule ^Show\.php$ ./Show [R=301]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^Show$ ./Show.php [L]

REQUEST\u URI
RewriteRule
表达式不同,它以前导的
/
开头,但您的表达式以
^Show
开头。只需添加前导斜杠就可以了。其他一切看起来都是正确的

RewriteCond %{REQUEST_URI} ^/Show\.php$
#-------------------------^^^^^
RewriteRule ^Show\.php$ Show [R=301]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
#Rewrite to Show.php rather than ./Show.php
RewriteRule ^Show$ Show.php [L]

REQUEST\u URI
RewriteRule
表达式不同,它以前导的
/
开头,但您的表达式以
^Show
开头。只需添加前导斜杠就可以了。其他一切看起来都是正确的

RewriteCond %{REQUEST_URI} ^/Show\.php$
#-------------------------^^^^^
RewriteRule ^Show\.php$ Show [R=301]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
#Rewrite to Show.php rather than ./Show.php
RewriteRule ^Show$ Show.php [L]

它不起作用/Show.php未重定向到/Show。我确信我的第一次重写是错误的。但是我不知道如何修复它。@HosseiN请求是否也有一个查询字符串,如
/Show.php?thing=123
?如果是这样,重写条件不应该有一个
$
锚点未工作/Show.php未重定向到/Show。我确信我的第一次重写是错误的。但是我不知道如何修复它。@HosseiN请求是否也有一个查询字符串,如
/Show.php?thing=123
?如果是,重写条件不应具有
$
锚定