[英]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
是一种将用户发送到login
和register
路径的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.