【问题标题】:Laravel - unable to find new page (404 error - not found)Laravel - 无法找到新页面(404 错误 - 未找到)
【发布时间】:2020-03-18 09:07:30
【问题描述】:

我正在为我的 laravel 项目问题寻找解决方案(laravel 版本:6.5.2)。我发现了很多类似的问题,但没有解决方案。

所以,我创建了新的 laravel 项目,然后我把它放在我的主机上。

我的 FTP 结构是:

 - www
 - AutsokolaIS

在 www 文件夹中,我复制了 Public 文件夹的内容,并在 AutoskolaIS 中复制了其他文件夹和文件(app、bootstrap、config 等)

一切都很好,直到我尝试创建一个链接到欢迎页面的新页面。

链接是 mydomain.com/page。单击此链接后,我得到 404 错误页面。当我直接打开 URL mydomain.com/index.php/page 时,一切正常。

我知道 .htaccess 文件有问题,但我无法以正确的形式编辑 .htaccess 文件。

谁能帮帮我?

谢谢

【问题讨论】:

标签: php laravel .htaccess


【解决方案1】:

默认情况下,网站将从公共文件夹加载。如果你想从你的 url 中删除 public,请将 .htaccess 文件从 public 文件夹复制到 root 并用以下代码替换代码..

<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>

RewriteEngine On


RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ ^$1 [N]

RewriteCond %{REQUEST_URI} (\.\w+$) [NC]
RewriteRule ^(.*)$ public/$1 

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ server.php

【讨论】:

  • 所以你建议我将默认文件夹(www)更改为 laravel 项目的公共文件夹?
  • 如果我的虚拟主机提供商允许此更改,我现在不同意。我会尝试发送有关支持的电子邮件。
  • 否,www 是此方案中的公用文件夹。不要更改公用文件夹。 OP 已将 www 设置为公用文件夹,因此您的解决方案不适用于 OP。
  • 这不会影响您的任何代码和虚拟主机提供商。这只会将 index.php 从公共文件夹加载到 url..
  • @JitheshJose 这里没有需要删除的“公共”。
猜你喜欢
  • 2012-09-15
  • 2016-06-22
  • 2015-06-22
  • 2015-03-30
  • 1970-01-01
  • 1970-01-01
  • 2017-06-17
  • 2016-10-20
  • 2016-01-18
相关资源
最近更新 更多