从URL隐藏PHP文件扩展名

时间:2017-10-03 07:32:45

标签: php html url-rewriting

我将我的网站内容存储在数据库中。就像CMS一样。一个将从管理面板添加页面内容,内容将存储在数据库中。在一个页面中,我添加了10-12个链接<a href="page.php/abc",我的网址看起来像www.example.com/page.php/abc。我想隐藏.php中的page.php。如何在不使用.htaccess的情况下执行此操作?

我尝试使用str_replace(在CMS的页面内容中添加),但似乎它不会将其识别为PHP代码并将其作为字符串。

2 个答案:

答案 0 :(得分:2)

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

将此代码放入您的htaccess文件(您不想要),或将此代码放在您服务器的配置文件中:

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

这会将.php隐藏在您网站的所有网址中。

那就是它。

答案 1 :(得分:1)

您需要使用URI重写,具体取决于您的网络服务器。对于apache,您可以在.htaccess中指定它,但是对于NGINX,您需要编辑域的服务器块以允许它。

基本上,你需要告诉他重写任何请求,例如www.example.com/page/abcwww.example.com/page.php/abc(内部,不在uri栏中显示)