htaccess删除除了一个特定文件夹之外的php扩展名

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了htaccess删除除了一个特定文件夹之外的php扩展名相关的知识,希望对你有一定的参考价值。

我有一个php项目,我需要使用.htaccess隐藏URL中的.php扩展名。我已经可以用这个.htaccess文件做到这一点

# Run Php without filename extension
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php

# Return 404 if original request is .php
RewriteCond %{THE_REQUEST} "^[^ ]* .*?\.php[? ].*$"
RewriteRule .* - [L,R=404]

现在,我需要在名为php的文件夹中的index.php中允许.php扩展名,该文件夹位于名为server(project / server / php / index.php)的文件夹中。

我怎样才能做到这一点?

答案

将以下行添加到.htaccess文件中。

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [NC,L]

有关详细信息,请通过以下链接。

https://www.plothost.com/kb/how-to-remove-php-html-extensions-with-htaccess/

另一答案

尝试以下规则,

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/index.php
RewriteRule ^(.*)$ $1.php [L]

以上是关于htaccess删除除了一个特定文件夹之外的php扩展名的主要内容,如果未能解决你的问题,请参考以下文章

将多个 php 文件视为目录,htaccess

核心数据迁移:除了少数特定对象之外,是不是可以删除旧存储?

如何阻止对根文件夹中除 index.php 之外的所有 .php 的访问(通过 .htaccess)?

apache htaccess 不会将 https://www 添加到除 inside.php 之外的任何页面

htaccess - 将所有文件重写为 index.php,除了 sitemap.xml

使特定 URL 使用模板文件并使用 PHP 和 .htaccess 从数组中获取特定数据