我的laravel路线根本不起作用。我试过这样的事情:
Route::get('welcome', function () {
return View::make('welcome');
});
使用localhost / project / project / public / welcome访问它可以正常工作。我已经在很多方面尝试了它,但似乎路由没有工作,因为localhost / project / welcome显示404错误。我知道有一个类似的主题,但对我来说没有答案。请问有人帮帮我吗?
我的htaccess文件看起来像这样(我从未碰过它):
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
答案 0 :(得分:2)
您需要编辑HTTP服务器以将文档根目录为project / project / public /
例如在Apache中你可以做类似的事情:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/project/project/public/
在Nginx中它会是这样的:
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/project/project/public/;
答案 1 :(得分:1)
您已经说过,您可以通过
访问您的laravel应用程序
localhost/project/project/public/welcome
。这是因为此路径是您启动应用程序的起始根路径。
允许您访问新路线的示例
Route::get('other_route', function () {
return View::make('welcome');;
});
如果您要在浏览器中输入localhost/project/project/public/other_route
localhost/project/welcome
无效,因为您的应用程序比此路径更深。
您应该为您的应用设置虚拟主机,以便您的路径可以是myapp.local/welcome
myapp.local/other_route
或者访问您的应用程序,假设您的起点是http://localhost/project/project/public/