给出以下index.html
文件:
<html>
<body>
<p>Welcome to <?= $_SERVER ['HTTP_HOST']; ?></p>
</body>
</html>
我希望看到&#34;欢迎来到EXAMPLE.COM&#34;,我所看到的只是&#34;欢迎来到&#34;。 如果代码检出会导致这种情况发生什么?
答案 0 :(得分:3)
它没有运行,因为该部分不是html(它是php),但是你把它保存为html文件而不是php文件。
将其重命名为index.php并重试?
答案 1 :(得分:1)
Web服务器通常配置为仅对具有.php
扩展名的文件运行PHP。您的index.html
文件将按原样传递给浏览器,这可能会忽略未知的PHP标记。如果您查看网页的源代码,标签可能就在那里。
如果您必须具有.html
扩展名,通常可以将Web服务器配置为在.html
个文件上运行PHP。例如,在Apache中,您可以在AddType
文件或服务器配置(.htaccess
)中使用httpd.conf
指令:
AddType application/x-httpd-php .html
但是,这将在所有 .html
文件(在该目录中)上运行PHP,这可能会给服务器带来不必要的负担。
更好的方法是使用不带扩展名的网址。在Apache中,您可以使用DirectoryIndex
指令指定Web服务器将搜索的索引文件列表:
Options +Indexes
DirectoryIndex index.html index.php
当浏览器请求以斜杠结尾的网址(例如http://mydomain.example/foo/
)时,服务器将在DocumentRoot
中搜索foo/index.html
或foo/index.php
(或者,两者,生成目录列表)。您现在可以使用适合的任何类型的索引文件,而无需更改您的URL。