繁体   English   中英

从 URL 中隐藏 PHP 文件扩展名

[英]Hide PHP file extension from the URL

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

在一页中,我添加了 10-12 个链接作为<a href="page.php/abc"并且我的 URL 看起来像www.example.com/page.php/abc 我想从page.php隐藏.php 如何在不使用 .htaccess 的情况下执行此操作?

我尝试过str_replace (添加到来自 CMS 的页面内容中),但它似乎无法将其识别为 PHP 代码并将其视为字符串。

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

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

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

这将从您网站的所有 URL 中隐藏 .php。

就是这样。

您需要使用URI rewriting ,具体取决于您的网络服务器。 对于 Apache,您可以在.htaccess 文件中指定它,但对于nginx ,您需要编辑域的服务器块以允许这样做。

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

RewriteEngine on
RewriteCond %{THE_REQUEST} /([^.]+)\.php [NC]
RewriteRule ^ /%1 [NC,L,R]

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM