php - 为什么有些网站的文件扩展名末尾不显示 .php?

标签 php html url

<分区>

有时当我查看网站 URL 时,它会说这样的话

www.website.com/index.php

其他时候看起来像这样

www.website.com/index/

为什么第二个 URL 没有 .php 或 .html 扩展名?

最佳答案

在正常配置的网络服务器中,

www.website.com/index.php

告诉它从 webroot 目录加载 index.php 文件。这个

www.website.com/index/

告诉它在 /index/ 目录中查找与服务器 httpd.confDirectoryIndex 配置指令中列出的文件相匹配的文件strong> 文件或网站 webroot 目录中的 .htaccess 文件(详见 http://httpd.apache.org/docs/2.2/mod/mod_dir.html#directoryindex)。

示例配置指令如下所示:

DirectoryIndex index.php index.html default.html default.htm

这将告诉网络服务器,当没有给出文件名时,在当前目录中查找 index.php 文件,如果找不到则查找 index.html 文件,如果没有找到 default.html 文件,依此类推。

如果您希望能够运行 PHP 文件而不必在它们的末尾添加 .php,您可以在配置文件(httpd.conf 或 .htaccess)中设置一个默认处理程序比如:

ForceType application/x-httpd-php 

这将告诉 Apache 将所有文件作为 PHP 处理,无论它们是否具有 .php 扩展名。 (参见 http://httpd.apache.org/docs/2.2/mod/core.html#forcetype)

如果您愿意,您也可以使用 ModRewrite 重新映射 URL,但 ModRewrite 指令可能会造成混淆并且难以排除故障。

关于php - 为什么有些网站的文件扩展名末尾不显示 .php?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16115494/

相关文章:

php - Laravel Excel 导入 CSV 加载数据

apache - 如何使用 Plesk 编辑 php.ini 文件

php - 在不在数据库中创建表的情况下更改 wordpress 模板中的链接

javascript - 为什么我的 jquery 函数在 ajax 加载的页面中的 div 上不起作用

php - 通过 PHP/MySQL 联合表搜索获取正确的数组键

javascript - 如何使用ajax向服务器提交表单?

javascript - 要求文档底部的 JS 文件会带来可用性问题

url - 有没有办法使用亚马逊 KMS key 签署云端 URL?

javascript - 如何将 URL 解析为 javascript 中的主机名和路径?

javascript - 如何更改js URL对象路径名和协议(protocol)属性?