htaccess 没有删除 php 个扩展

htaccess doesn't removing php extensions

我有一个 php 项目 运行。我是 运行 我在 localhost 上的项目。我想从地址栏中的 url 中删除 php 扩展名。我尝试了几个 htaccess 脚本,但 none 工作了一些,显示 404 not found 错误或根本不工作。 我的 php 项目所在的目录 D:\VertrigoServ\www\gotmation 我正在使用这个 htaccess 脚本

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

## hide .php extension
# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php[\s?] [NC]
# RewriteRule ^ %1 [R=301,L]
 RewriteRule ^([^\.]+)$ .php [NC,L] 

# To internally forward /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/gta/.php -f
# RewriteRule ^(.+?)/?$ /gta/.php [L]
RewriteRule ^([^\.]+)$ .php [NC,L] 

我是新手php程序员对这方面的经验不多。任何帮助将不胜感激。

尝试:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

## hide .php extension
# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+(.+)\.php[\s?] [NC]
RewriteRule ^ /%1 [R=301,L]

# To internally forward /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/.php -f
RewriteRule ^(.+?)/?$ /.php [L]

这些规则需要在您的文档根目录中。

RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /(.*)\.php
RewriteRule ^ /%1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ .php [NC,L]

这一定有效...您可能有任何其他问题...您是否允许在 apache 配置文件中使用 .htaccess???