2016-08-04 45 views
0

下我已经目录“laravel”下设立的WampServer我的第一个Larevel应用我的本地机器上,当我键入localhost/laravel需要我的文件结构如下图所示。当我输入localhost/laravel/public时,我只能到达应用程序的主页。Laravel应用的主页是公共目录

enter image description here

这里是我的routes.php文件:

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

Route::auth(); 

Route::get('/home', '[email protected]'); 

如何配置我的应用程序,以欢迎页面的根源在哪里?我在这里错过了什么吗?当然,比编辑.htaccess更容易做到这一点吗?

+0

的.htaccess是去 –

+0

配置你WAMP到laravel方式/ public目录。 我的httpd-vhosts.conf: '<虚拟主机*:80> 服务器名sockets.dev ServerAlias www.sockets.dev 的DocumentRoot E:/项目/ LaravelSockets/laravel /公/ <目录E:/项目/ LaravelSockets/laravel /公/> 选项指标的FollowSymLinks多视图 的AllowOverride所有 \t要求所有授予 订购允许,拒绝 所有 错误日志 “日志\ errors.log” 的LogLevel警告 即成允许rSignature关 ' – mcklayin

+0

@mcklayin如果我不使用虚拟主机是什么?当我最终这个应用程序移动到生产服务器,我不会有机会到Apache CONFIGS所以这不是一个可行的选择。 – user3574492

回答

1

试试这个:

/.htaccess

RewriteEngine on 
RewriteRule (.*)$ /laravel/public$1 [R=301,L] 
+0

这工作,非常快速和容易。我不喜欢设置虚拟主机的想法,因为迁移到不同的环境时可能会产生问题。但是,使用.htaccess文件时,无论我将应用程序移动到何处,它都可以工作。谢谢! – user3574492

+0

另一个选择是使用https://laragon.org/这个现代的LAMP服务器自动为您的项目配置虚拟主机。如果您在路径www/laravel中创建项目,则会创建一个虚拟主机,并且您可以访问URL laravel.dev(这是可配置的)。花点时间来试试这个工具 –

+0

这看起来不错,但是现在我有点不得不使用最简单的解决方案,因为当我将我的应用程序托管在生产服务器上时,它将不可配置 – user3574492

0

某处在Apache的配置文件,你有

<DocumentRoot "/path/to/laravel"> 

你应该改变这

<DocumentRoot "/path/to/laravel/public"> 

出于安全考虑,只有少数文件被“放上网”,但公共/指数。 PHP仍然会做你想做的一切。

你已经做到了这一点后,请确保您的.htaccess文件是正确的。如果你没有你的路线将无法正常工作。

Options +FollowSymLinks 
RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule^index.php [L] 

laravel 5.1 doc's所示。不知道为什么他们离开它在5.2 ...