删除url中的.php扩展名

问题描述 投票:0回答:1

我想做的是使用.htaccess mod_rewrite来删除url中的.php扩展名,这样如果有人输入一个php扩展名的页面,比如about.php,就会显示404错误,如果有人点击导航菜单中的任何链接或位于网站内的任何页面的链接,url将默认为没有.php扩展名的文件名。我怎样才能做到这一点?

apache .htaccess redirect mod-rewrite url-rewriting
1个回答
1
投票

你可以在你的网站根目录下的.htaccess中使用这些规则。

RewriteEngine On

# 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 %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^(.+?)/?$ $1.php [L]
© www.soinside.com 2019 - 2024. All rights reserved.