laravel无法正确路由,开启Apache mod_rewrite模块

具体情况:

routes.php中
Route::controller('/' , 'testController');

TestController.php中
public function getIndex(){
    $value = Config::get('app.timezone');
    echo $value;
}

这里是控制器路由,也就是说分别在访问
http://localhost:1000
http://localhost:1000/index
时 都应该显示TestController中的getIndex方法
但实际访问时,却无法访问http://localhost:1000/abort
会出现错误 如下
Not Found
The requested URL /abort was not found on this server.
Apache/2.4.9 (Win32) PHP/5.5.12 Server at localhost Port 1000
这是用apache做服务器时发生的情况
如果用php内置服务器 则没有出现类似的问题

解决方案:

在apache的http.config中
把LoadModule rewrite_module modules/mod_rewrite.so前面的*去掉
这里的意思是开启Apache mod_rewrite模块
作用是
通过http://localhost:8080/php/访问时,/php/和其下面的子目录将支持url rewrite。
Rewirte主要的功能就是实现URL的跳转和隐藏真实地址,基于Perl语言的正则表达式规范。平时帮助我们实现拟静态,拟目录,域名跳转,防止盗链等

参考资料:

http://wenda.golaravel.com/question/993
http://www.php100.com/html/webkaifa/apache/2010/0228/4006.html
http://bbs.php100.com/simple/?t300372.html

你可能感兴趣的:(PHP,apache)