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,您是否已在浏览器的网络控制台中进行检查?谢谢您的帮助!