Javascript PHP文件获取HTML文件的内容请求旧资源
我有一个特定的网页。这是文件结构:Javascript PHP文件获取HTML文件的内容请求旧资源,javascript,php,file-get-contents,Javascript,Php,File Get Contents,我有一个特定的网页。这是文件结构: index.php script.js style.css edit | |--- index.php | |--- script.js edit/index.php正在使用包含的file\u get\u contents('../index.php')回显index.php的内容edit/script.js包含alert()。当我打开https://www.example.com/edit,它显示index.php的内容,但不执行edit/scri
index.php
script.js
style.css
edit
|
|--- index.php
|
|--- script.js
edit/index.php
正在使用包含
的file\u get\u contents('../index.php')
回显index.php
的内容edit/script.js
包含alert()
。当我打开https://www.example.com/edit
,它显示index.php
的内容,但不执行edit/script.js
中的代码。为什么会发生这种情况?我如何解决?(虽然index.php
有扩展名.php
但它不包含任何php,只包含HTML)问题是浏览器不知道edit
实际上是edit/index.php
。它认为这是根目录中的一个文件,因此当解析script.js
时,它也会在根目录中查找该文件
您应该配置Web服务器,以便它执行从
edit
到edit/index.php
的重定向,而不仅仅是返回edit/index.php
的内容。这样,将正确处理所有相关URL。如果您不想显示脚本名,可以重定向到edit/
——这足以让它知道这是一个目录而不是一个文件。您将此作为什么MIME类型发送回?如果它只是text/plain
,那么浏览器将不会解释任何HTML。如果设置为HTML,那么对script.js
的引用将使用edit/
路径中的引用,因为这是一个相对路径。我不明白你的意思。我只是在使用echo file\u get\u contents('../index.php')
再说一遍,设置的是什么MIME类型?签入浏览器的网络检查器。MIME类型决定浏览器处理内容的方式,或者它是否处理内容。它以text/html
的形式发送。正如我在问题中提到的,我完全看到了我在index.php
中看到的内容。在Chrome中,当我查看源代码并转到
并单击script.js
时,我会进入https://www.example.com/script.js
而不是https://www.example.com/edit/script.js
如果已加载edit/script.js,您是否已在浏览器的网络控制台中进行检查?谢谢您的帮助!