请帮助,我正在使用Laravel4但是由于某些原因我不能让它在家里的Mac上工作,我在工作中没有问题,要么我缺少明显的东西,要么我的mac设置不同
我遇到的问题是,如果我尝试使用测试控制器,我只能让HomeController工作,我找不到Controller方法。 whooops错误导致找不到控制器方法
REDIRECT_URL /test
GATEWAY_INTERFACE CGI/1.1
SERVER_PROTOCOL HTTP/1.1
REQUEST_METHOD GET
QUERY_STRING
REQUEST_URI /test
SCRIPT_NAME /index.php
PATH_INFO /test
PATH_TRANSLATED redirect
我的路线
Route::controller('test', 'TestController');
和我的测试控制器
class TestController extends BaseController {
public function getIndex()
{
return View::make('test.index');
}
}
我的htaccess
<IfModule mod_rewrite.c>
RewriteEngine on
Options +FollowSymLinks
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
重写已启用
我错过了明显的吗?感谢您的帮助
答案 0 :(得分:3)
我在本地开发环境中遇到过类似情况。部署在我的远程服务器上的Laravel 4应用程序运行正常,但是我无法在本地计算机上运行它。问题是只有应用程序的根文件夹(/ public - Home Controller)可以访问,我的所有路由都没有工作。
问题在于Apache的配置,它不允许加载.htaccess
个文件。我的解决方案是为我的站点路径定义一个新的Directory语句,如下所示:
<Directory "/path/to/your/sites">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
您可以将其插入httpd.conf
或正在加载的任何配置文件中。如果已存在该路径的定义,则应相应地更新它。在我的例子中,我将上面的代码与虚拟主机定义一起添加到我的httpd-vhosts.conf
文件中:
<VirtualHost *:80>
ServerAdmin your@email.com
DocumentRoot "/path/to/your/sites/laravel/public"
ServerName laravel.dev
ServerAlias www.laravel.dev
</VirtualHost>
最后将此行添加到/etc/hosts
127.0.0.1 laravel.dev
通过这种方式,您可以通过此URI访问您的本地环境:http://laravel.dev