从URL中隐藏PHP文件扩展名

从URL中隐藏PHP文件扩展名,php,html,url-rewriting,Php,Html,Url Rewriting,我将我的网站内容存储在数据库中。它就像一个CMS。其中一个将从管理面板添加页面内容,内容将存储在数据库中 在一个页面中,我添加了10-12个链接,作为您需要使用的,具体取决于您的Web服务器。对于Apache,您可以在中指定它,但是对于,您需要编辑域的服务器块以允许这样做 基本上,您需要告诉它将任何请求(如www.example.com/page/abc重写为www.example.com/page.php/abc(内部,不显示在URI栏中)。您可以通过以下方式执行此操作: 请将此代码放入(您不

我将我的网站内容存储在数据库中。它就像一个CMS。其中一个将从管理面板添加页面内容,内容将存储在数据库中

在一个页面中,我添加了10-12个链接,作为您需要使用的
,具体取决于您的Web服务器。对于Apache,您可以在中指定它,但是对于,您需要编辑域的服务器块以允许这样做


基本上,您需要告诉它将任何请求(如
www.example.com/page/abc
重写为
www.example.com/page.php/abc
(内部,不显示在URI栏中)。

您可以通过以下方式执行此操作:

请将此代码放入(您不需要的)或服务器的配置文件中:

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME}\.php -f
  RewriteRule ^(.*)$ $1.php
</IfModule>

重新启动发动机
重写cond%{REQUEST_FILENAME}-D
重写cond%{REQUEST_FILENAME}\.php-f
重写规则^(.*)$$1.php
这将从您网站的所有URL中隐藏.php


就是这样。

可能的副本建议使用.htaccess方法,我需要它通过任何其他方法执行。htaccess建议的副本的标题包括“不使用.htaccess”,其中一个答案不建议使用。这里有一个难题。更新问题以包含后来发现的不使用.htaccess的要求(例如,将其包含在标题中)将使一个答案无效。其他候选人:(2017)、(2016,但没有答案)和(2014)。对于apache,没有htaccess是不可能的吗?如果您不想使用.htaccess,请参阅@amrinder singh answer。为此,您需要编辑apache配置文件。服务器配置文件的名称是什么?它在哪里?(请回复,而不是在评论中(视情况而定)。)
RewriteEngine on
RewriteCond %{THE_REQUEST} /([^.]+)\.php [NC]
RewriteRule ^ /%1 [NC,L,R]

RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^ %{REQUEST_URI}.php [NC,L]