1。我正在跟踪CodeHappy: Using Controllers学习使用laravel控制器,在我的PC “myproject /”指向“wamp / www / laravel / public”文件夹,当我尝试“myproject / account / login”时,浏览器显示:
在此服务器上找不到请求的网址/帐户/登录信息。
<小时/>
2。显然,浏览器试图找到“帐户”文件夹而不是使用控制器,我在“公共”下创建了“帐户”文件夹并再次尝试,我的猜测被证明是正确的。我应该在使用控制器前配置任何地方
应用/控制器/ account.php
<?php
class Account_Controller extends Base_Controller
{
public function action_index(){
echo "This is the profile page.";
}
public function action_login(){
echo "This is the login form.";
}
public function action_logout(){
echo "This is the logout action.";
}
}
/application/routes.php
Route::get('/', function()
{
return View::make('home.index');
});
Route::controller('account');
答案 0 :(得分:1)
试试/index.php/account/login
。如果它工作,你知道你的重写规则是拙劣的。如果它也不起作用,那么你手头有一个更严重的问题。
如果您使用的是Apache,则应在htaccess
文件中找到Laravel的重写规则。如果你不能通过htaccess加载mod_rewrite,你需要将它们迁移到你的服务器配置。
如果您使用的是nginx,则在server
块中需要与此类似的内容:
location / {
try_files $uri $uri/ @laravel;
}
location @laravelDesktop {
rewrite ^/(.*)$ /index.php?/$1 last;
}
或者如果在子目录中
location /my/subdir/ {
try_files $uri $uri/ @laravel;
}
location @laravel {
rewrite ^/my/subdir/(.*)$ /index.php?/$1 last;
}