繁体   English   中英

laravel项目路线不适用于共享主机

[英]laravel project routes not working on shared hosting

将laravel项目上传到共享服务器microsoft azure时遇到问题。 除了/,我无法访问其他路线。 我的路线文件具有以下代码:

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或我创建的任何其他路线。

加载的页面http://40.121.138.22/monrostudio/public/当你去像根路径根据你的链接应该载入http://40.121.138.22/http://40.121.138.22/home

这就是我要解决的方法:

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

2)确保您根据主机的说明设置了域的DNS(我99%确信这不是问题,但值得检查。在共享服务器上托管Laravel并不是很简单,正如我最近发现的那样。

3)检查您的路线文件。 确保您拥有指向所有要指向现有控制器的页面的路由。 auth控制器是app\\Http\\Controllers\\Auth\\AuthController.php AuthController是一种将用户发送到loginregister路径的AuthController 它也是一种将注册用户重定向到register页面之外并将登录用户重定向到login页面之外的选项。

我相信您尚未在服务器上设置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

然后您将看到它起作用。 希望能帮助到你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM