有时当我查看网站 URL 时,它会说这样的话
www.website.com/index.php
其他时候看起来像这样
www.website.com/index/
为什么第二个 URL 没有 .php 或 .html 扩展名?
在正常配置的 Web 服务器中,
www.website.com/index.php
告诉它从 webroot 目录加载 index.php 文件。这
www.website.com/index/
告诉它在/index/目录中查找与服务器的httpd.conf文件或网站的 webroot 目录中的.htaccess文件中的DirectoryIndex配置指令中列出的文件匹配的文件(参见http://httpd.apache .org/docs/2.2/mod/mod_dir.html#directoryindex了解详细信息)。
示例配置指令如下所示:
DirectoryIndex index.php index.html default.html default.htm
这将告诉 web 服务器,当没有给出文件名时,在当前目录中查找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 指令可能会令人困惑且难以排除故障。