【问题标题】:How to solve 404 error after deploying laravel in server under subfolder?在子文件夹下的服务器中部署 laravel 后如何解决 404 错误?
【发布时间】:2020-11-04 21:45:13
【问题描述】:

我已经在服务器中的 public_html 目录下的子文件夹中上传了一个 laravel 项目。 例如www.xyz.com/subfolder。 Bot 我收到错误 404 NOT Found。

我的 htaccess 代码

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{REQUEST_URI} !^public
    RewriteRule ^(.*)$ public/$1 [L]
</IfModule>

【问题讨论】:

标签: laravel apache .htaccess


【解决方案1】:

所以,我一直在摆弄 VirtualHost(s),但我发现的最佳解决方案根本不涉及它们,就是这样。

首先要做的是为应用程序的根文件夹及其公用文件夹配置 .htaccess 文件。我在这个答案中找到了一个简单的工作 .htaccess 文件,我在这里报告:

<IfModule mod_rewrite.c>
    RewriteEngine On 
    RewriteRule ^(.*)$ public/$1 [L]
</IfModule>

默认的 .htaccess 可以正常工作,而是用于公用文件夹。

最后一步是在 routes.php 中正确配置你的路由。对我有用的解决方法非常粗糙,也许可以找到一些更完善的解决方案,但它仍然存在。

// Get base (root) route
$base_route = basename(base_path());

Route::get($base_route, function () {
    return view('welcome');
});

Route::get($base_route.'/myRoute', function() {
    return view('myRoute');
});

所以基本上你需要将 $base_route 添加到应用中的每条路线。

【讨论】:

    猜你喜欢
    • 2020-01-30
    • 2021-01-27
    • 2020-01-21
    • 2022-08-22
    • 2022-01-25
    • 2021-10-23
    • 2021-05-14
    • 1970-01-01
    • 2022-10-08
    相关资源
    最近更新 更多