[英]page redirecting to 404
我有一个名为 example.com 的不同语言的网站
当我调用 example.com/en - 它打开 eng 版本
如果我写 example.com/fr - 它会打开法语版本
它是一个一页的项目。 所以所有内容都包含在 index.php 中。 我读了 url,展开它,然后我得到了请求的语言。 在本地机器上一切正常
在我的服务器上,如果我调用 example.com/en - 它会尝试打开一条不存在的路径,然后出现 404 错误
我必须做什么才能让我的代码像在本地机器上一样工作?
要开始调试您的问题,请使用您浏览器的开发人员菜单……让您看到 .network 请求的菜单。”
有了它,您将很快能够准确地看到从服务器请求的 URL 是什么,并且您将看到返回的404
响应。
所以,您的第一个检查是:*“好吧,那是我期望被请求的 URL 吗?”*
然后,如果是,请检查服务器端代码以确定它无法匹配 URL 的原因。
还请记住,当您的网络浏览器客户端请求诸如blahblah/fr
之类的内容时,该/fr
位将被(例如 Apache)视为不同的<Location>
。 仔细查看您选择的 Web 服务器的配置文档,以确保它知道如何处理它将看到的 URL。 (有几种方法可以做到这一点,所以我真的不能更具体,因为你没有给我们任何关于你的服务器端设置的线索......)
请在.htaccess 中添加以下内容:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
注意:如果您的 web 主机不允许 FollowSymlinks 选项,请尝试将其替换为 Options +SymLinksIfOwnerMatch。
这基本上是适用于 Laravel 框架的配置。 但是,它也应该适用于您,但您需要在第三个重写规则中正确设置路径。
错误 404 消息的典型触发是当网站内容已被删除或移动到另一个 URL 时。还有其他原因可能会出现错误消息。 这些包括:
为了解决这些问题
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.