如何使Apache服务index.php而不是index.html?

Ada*_*jda 37 php apache include

如果我将以下行放在一个index.html文件中,要使Apache包含该index.php文件:

  <?php include("/Live/ls_client/index.php"); ?>    
Run Code Online (Sandbox Code Playgroud)

访问index.html该页面向我显示:

<!--?php include("/Live/ls_client/index.php"); ?-->
Run Code Online (Sandbox Code Playgroud)

这是为什么?为什么它实际上不包含PHP文件?

Gli*_*ire 69

正如其他人所说,很可能你没有.html设置来处理PHP代码.

话虽如此,如果你所做的只是index.html用来包括index.php,你的问题应该是'我如何index.php用作索引文件?

在这种情况下,对于Apache(httpd.conf),搜索DirectoryIndex并替换该行(仅在dir_module启用时才有效,但在大多数安装中都是默认值):

DirectoryIndex index.php
Run Code Online (Sandbox Code Playgroud)

如果您使用其他目录索引,请按优先顺序列出它们,即

DirectoryIndex index.php index.phtml index.html index.htm
Run Code Online (Sandbox Code Playgroud)

  • 您还可以执行`DirectoryIndex index.php index.html` - 如果它们在一台服务器上混合使用,则非常有用. (5认同)
  • 哈哈,我没有读完整个线程。DirectoryIndex 位于 ubuntu20.04 上 /etc/apache2/mods-available 目录中的 dir.conf 文件中 (2认同)

Dr *_*eco 16

截至今天(2015年8月,第1),Apache2Debian Jessie你需要编辑:

root@host:/etc/apache2/mods-enabled$ vi dir.conf 
Run Code Online (Sandbox Code Playgroud)

并更改该行的顺序,将index.php带到第一个位置:

DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
Run Code Online (Sandbox Code Playgroud)

  • 并在2018年保持强劲 (3认同)

Sho*_*hoe 7

PHP仅适用于.php文件扩展名.

如果你在Apache上,你也可以在你的httpd.conf文件中设置PHP的扩展.你必须找到这条线:

AddType application/x-httpd-php .php .html
                                     ^^^^^
Run Code Online (Sandbox Code Playgroud)

并根据需要添加应该使用PHP解释器读取的扩展数.

  • 此外,服务器可以配置为接受index.php作为欢迎页面,无需冗余index.html. (2认同)