如何在没有.htaccess 的情况下隐藏 apache 中的扩展?

如何在没有.htaccess 的情况下隐藏 apache 中的扩展?

我想在我的 Apache 服务器上隐藏 .php 扩展名,但隐藏在目录部分中,因为 .htaccess 会降低服务器速度。谢谢

答案1

问题说明。认为你想隐藏确切的URI,具体来说)。因此,http://example.com/contact.php,您希望请求:http://example.com/contact

回答。有多种方法可以实现这一点:

  • 选项1。您可以通过启用mod_rewrite模块和配置Directory 虚拟主机因此。
RewriteRule ^contact$ /contact.php
  • 选项 2。您可以添加一组目录并放在index.php那里。
var/www/html ⇣47% ≫ tree .
.
├── blah
│   └── index.php
└── contact
    └── index.php

2 directories, 2 files

var/www/html ⇣47% ≫

记住应用程序路由,一般来说,动态管理路由是一种更好的方法。

答案2

您不必使用.htaccess。为.htaccess文件编写的大多数内容可能都可以在 中运行.conf

您可以使用mod_rewrite 代码删除扩展,并将其放在您的某个 .conf 文件中,例如apache2.confhttpd.confsite-available/*.conf

相关内容