Php 页面重定向到404

Php 页面重定向到404,php,.htaccess,server,Php,.htaccess,Server,我有一个名为example.com的网站,使用不同的语言 当我调用example.com/en时,它会打开英文版本 如果我写example.com/fr,它会打开法语版本 这是一个只有一页的项目。因此,所有内容都可以在index.php中找到。 我读取url,分解它,然后得到请求的语言。 在本地机器上一切正常 在我的服务器上,如果我调用example.com/en-它试图打开一个不存在的路径,然后我得到一个404错误 我必须做些什么才能使我的代码像在本地机器上一样工作?404错误消息的典型触发器

我有一个名为example.com的网站,使用不同的语言

当我调用example.com/en时,它会打开英文版本

如果我写example.com/fr,它会打开法语版本

这是一个只有一页的项目。因此,所有内容都可以在index.php中找到。 我读取url,分解它,然后得到请求的语言。 在本地机器上一切正常

在我的服务器上,如果我调用example.com/en-它试图打开一个不存在的路径,然后我得到一个404错误


我必须做些什么才能使我的代码像在本地机器上一样工作?

404错误消息的典型触发器是当网站内容被删除或移动到另一个URL时。出现错误消息还有其他原因。这些措施包括:

  • URL或其内容(如文件或图像)已被删除或移动(未相应调整任何内部链接)
为了解决这些问题

  • 在根目录中创建一个错误页('404.html'或'404.php')(如果还没有现有的错误页)
  • 在根目录中打开.htaccess文件(或根据需要创建一个),在“ErrorDocument 404/404.html”中输入该文件并保存更改。将使用此代码生成错误页面
  • 要查看它是否有效,请尝试访问不可用的网页,希望浏览器中会出现错误404消息

要开始调试您的问题,请使用浏览器的开发者菜单。。。让你看到“网络请求”的那个

使用它,您将很快能够准确地看到从服务器请求的URL,并且您将看到返回的
404
响应

因此,您的第一个检查是:““嗯,这是我期望被请求的URL吗?”*

然后,如果是,请检查服务器端代码以确定它无法匹配该URL的原因


还请记住,当您的web浏览器客户端请求类似于
blahblah/fr
的内容时,
/fr
位将被视为一个不同的
。仔细查看所选web服务器的配置文档,确保它知道如何处理它将看到的URL。(有几种方法可以做到这一点,因此我实在无法更具体地说明,因为您没有向我们提供有关服务器端设置的任何线索…

请在htaccess中添加以下内容:

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
注意:如果您的web主机不允许使用FollowSymlinks选项,请尝试将其替换为Options+symlinksFownerMatch


这基本上是使用Laravel框架的配置。但是,它也应该适用于您,但是您需要在第三个重写规则中正确设置路径。

您是否为index.php正确配置了重写规则?您可以分享您的Web服务器配置和Web服务器错误/访问日志吗?我有htaccess,其中唯一的内容是重写引擎,您至少需要显示您正在使用的代码。
.htaccess
启用了吗?我不需要404页面。你误解了我的问题