此问题已在此处有答案:
How to hide PHP file extension without using .htaccess(3个答案)
昨天关门了。
我想dockerize一个现有的PHP网站,但我遇到了一个问题。你能帮我弄明白这里发生了什么吗?
问题
index.php页面加载正常。但是,所有其他页面,如关于。PHP没有加载。它会产生如下所示的错误消息。我想知道为什么我不能浏览其他页面。
我已经通过使用以下命令连接验证了项目文件正在复制到docker容器:
docker exec -it <container_id> bash
查看代码,我们没有使用任何第三方库,所以我不认为这是路由器类型的问题。这是一个基本的网站,几乎没有PHP功能。
有趣的是,我可以在我的笔记本电脑上使用默认的MacOS Apache Web服务器运行这个网站。页面加载正常。在docker镜像中一定有一个配置我可能需要更改,但我不确定是什么。
Dockerfile
FROM php:8.2.5-apache as php
WORKDIR /var/www/html
COPY ./ ./
EXPOSE 80
错误
404 Not Found
服务器上没有找到请求的URL。
36846服务器类型Apache/2.4.56(Debian)
感谢您的指导。
1条答案
按热度按时间x6yk4ghg1#
我会尝试帮助你,也许你需要改变这个基本的URL:base_url()在某些情况下:人们通常使用HTTP://localhost,当运行docker容器时,域名将更改为HTTP://docker_container来解决这个问题,您需要在PHP代码中设置基本URL。我通常这样做:
我通常在链接上这样做:
我希望这能帮助你。