当前位置: 首页 > 知识库问答 >
问题:

Laravel项目路由在共享主机上不工作

石超
2023-03-14

我面临的问题,而上传我laravel项目到共享服务器,微软天蓝色。我不能访问除/以外的路线。我的路由文件有以下代码:

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

Route::auth();

Route::get('/home', 'HomeController@index');

基本上,我使用php artisan make:auth生成登录注册默认功能

我可以访问我的 /route:

http://40.121.138.22/monrostudio/public/

但不能访问其他路由,如/login、/register或我创建的任何其他路由。

共有2个答案

岳玉书
2023-03-14

我相信你还没有在你的服务器上设置Mod_Rewrite。

按照以下步骤为Apache Server启用mod_rewrite。

sudo nano /etc/apache2/apache2.conf

(打开apache配置文件,在下面几行中查找)

<Directory /var/www/html>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>

然后改成

<Directory /var/www/html>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
</Directory>

然后

sudo a2enmod rewrite

最后

sudo service apache2 restart

然后你会看到它工作。希望能有帮助。

柴文林
2023-03-14

http://40.121.138.22/monrostudio/public/根据您的情况,当您转到根路径时,应该加载链接,如http://40.121.138.22/http://40.121.138.22/home

这就是我如何解决它:

1)转到托管提供商的控制面板,确保您在公共文件夹或public_html文件夹中安装和配置了Laravel项目,无论托管提供商的说明是什么

2) 请确保您按照主机的指示设置域的DNS(我99%确定这不是问题,但值得检查。正如我最近发现的那样,在共享服务器上托管Laravel不是很简单。

3) 检查您的路由文件。确保有指向现有控制器的所有页面的路由。auth的控制器是app\Http\Controllers\auth\AuthController。phpAuthController是将用户发送到loginregister路径的控制器。它还可以将注册用户从register页面重定向,并将登录用户从login页面重定向

 类似资料:
  • 我的问题与另一个问题非常相似,但该线程中提供的解决方案对我没有帮助。 我使用本指南将我的Laravel应用部署到共享托管服务(顺便说一句,该指南与链接问题的答案之一非常相似) 下面是我的路线/web.php文件 问题是,我可以访问欢迎页面和登录页面。验证后,我转到主页,然后问题开始出现。我尝试之外的每一条路径(比如mydomain.net/law/search)都会让我以某种无限循环的方式再次访问

  • 我的问题是:如何在共享网络主机的目录(而不是根目录)中运行laravel应用程序? 对于我的一些客户,我在他们选择的共享虚拟主机的根文件夹中运行Laravel应用程序,并从URL中删除 /public部分。为了完成这项工作,我将index.php移动到根文件夹,并将信息从index.php更改为: 现在我知道这可能会导致安全问题,但我已经找到了解决方案,共享网络主机的情况下。 我用来进行此更改的.

  • 如何在hostgator共享主机上安装laravel php框架PHP版本5.2-AddType application/x-httpd-php53.PHP in.htaccess文件 我的问题:无法使用SSH安装composer:$curl-sShttps://getcomposer.org/installer |php获取错误:缺少phar扩展。请在不禁用phar的情况下安装或重新编译php

  • 我将一个Laravel5项目部署到一个共享托管帐户,将应用程序文件放在www文件夹之外,只将公用文件夹放在www文件夹之内。正如这里所解释的,最好的答案是:Laravel4和使用FTP部署应用程序的方法。。。没有3。因为这个文件在Laravel 5中不存在。 现在,当我在控制器内调用public_path()时,我会在www/public之外而不是www/public之外得到类似于我的appfil

  • 我部署我laravel 5.4项目在共享主机上使用子域我安装了作曲家,改变了路径的index.php,供应商路径,DB主机,用户名等。 我得到以下错误 致命错误:未捕获意外值异常:在"/存储/日志"中没有现有目录,并且无法构建:在 /vendor/monolog/monolog/src/Monolog/Handler/StreamH中拒绝权限andler.php:171 我尝试了以下命令:php

  • 我已经开发了一个laravel web应用程序,我必须上传到已经有WordPress应用程序的主机上,文件系统如下所示: 我无法访问根文件夹,无法联机访问公共html,因此我在公共html中创建了两个文件夹(laravel后端,laravel前端)。 所以我所做的就是编辑索引。php以指向类似以下内容的laravel后端文件: 需要DIR/.../laravel后端/引导/autoload.php