我最近将一些 PHP 文件从 Windows 7 上的 Apache2.2 服务器移到了 Ubuntu 上的 Apache2.4 服务器。但是,现在解析 URL 时出现错误。当我单击指向 之类的链接时https://www.example.com/index.php?page=home
,会出现 404 错误,因为我被重定向到了https://www.example.com/page=home
。但是,当我手动输入 URL 时,它可以正常工作。有人知道这个问题的解决方案吗?
更新:其实我搞错了,新的服务器是Apache2.2服务器。
更新:这是 VirtualHost 配置文件中的 Directory 标签。
<Directory /var/www/site1>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
答案1
您在这里没有提供很多细节,但听起来也许根目录mod_rewrite
中的某些 Apache 配置.htaccess
行为异常。
另一个可能存在的问题是您网站上的根 URL 设置有误。因此无法正确形成 URL。
但你没有解释这是哪种 PHP 网站。它是 CMS 吗?如果不是,那它是一种常见的网站吗?还是说它是自制的 PHP?
答案2
我找到了答案。问题完全出在我自己的 PHP 代码中。我使用位置标头重定向页面,但我使用了错误的 $_SERVER 变量。我已更正此问题,页面现在可正常运行。
感谢一路上给予帮助的所有人。你们帮助我将问题缩小到最终的解决方案。