Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 拉维路由(?)问题_Php_Laravel - Fatal编程技术网

Php 拉维路由(?)问题

Php 拉维路由(?)问题,php,laravel,Php,Laravel,因此,我刚刚将我的站点从本地开发环境上传到服务器。 但是有个问题。仅加载索引页。我已经绘制了一些地图 控制器连接到不同的路由,如下所示: //controller detection Route::controller(Controller::detect()); //site routes Route::get('/','site@index'); Route::get('about','site@about'); Route::get('blog','site@blog'); Route:

因此,我刚刚将我的站点从本地开发环境上传到服务器。 但是有个问题。仅加载索引页。我已经绘制了一些地图 控制器连接到不同的路由,如下所示:

//controller detection
Route::controller(Controller::detect());

//site routes
Route::get('/','site@index');
Route::get('about','site@about');
Route::get('blog','site@blog');
Route::get('downloads','site@downloads');
Route::get('products','site@products');
Route::get('shop','site@shop');

//admin routes
Route::get('login','admin@login');

//ajax functions
Route::get('loadnews/(:num)','ajax@loadnews');
Route::post('sendmessage','ajax@sendmessage');
Route::post('loadblog','ajax@loadblog');
Route::post('loadblogdetails','ajax@loadblogdetails');

Event::listen('404', function()
{
    return Response::error('404');
});

Event::listen('500', function()
{
    return Response::error('500');
});

Route::filter('before', function()
{
    // Do stuff before every request to your application...
});

Route::filter('after', function($response)
{
    // Do stuff after every request to your application...
});

Route::filter('csrf', function()
{
    if (Request::forged()) return Response::error('500');
});

Route::filter('auth', function()
{
    if (Auth::guest()) return Redirect::to('login');
});
当我点击指向这些路线的链接时,我得到了一个 简单错误:324(net::ERR_EMPTY_RESPONSE):来自chrome

我怎样才能解决这个问题


站点当前位于:

如果尚未注册控制器,请确保注册

Route::controller(array('site'));
如果您在服务器上使用Apache,请确保启用并配置了
mod_rewrite
以及一个像样的
.htaccess
规则集,laravel为Apache服务器提供了一个像样的
.htaccess

还要确保您已经从应用程序配置中删除了'index.php'基本url

这些可能是路线不起作用的最常见原因。您还可以从命令行测试路由,从而使此过程更简单:

php artisan route:call get about

如果尚未注册,请确保注册控制器

Route::controller(array('site'));
如果您在服务器上使用Apache,请确保启用并配置了
mod_rewrite
以及一个像样的
.htaccess
规则集,laravel为Apache服务器提供了一个像样的
.htaccess

还要确保您已经从应用程序配置中删除了'index.php'基本url

这些可能是路线不起作用的最常见原因。您还可以从命令行测试路由,从而使此过程更简单:

php artisan route:call get about

至少在我这方面,我能够通过添加
RewriteBase/
到.htaccess文件。现在,一切似乎都正常工作。

至少在我这方面,我能够通过添加以下内容来解决此问题
RewriteBase/
到.htaccess文件。现在一切似乎都正常工作。

我遇到了类似的问题,我通过删除行解决了它:

路由::控制器(控制器::检测())


我正在使用命名的Url。试试看。

我遇到了类似的问题,我通过删除行解决了它:

路由::控制器(控制器::检测())


我正在使用命名的Url。试试看。

在你的情况下,我必须设置根路径:

Route::get('/','site@index'); 

在routes.php文件的底部

我必须放置根路由,在您的情况下:

Route::get('/','site@index'); 

在routes.php文件的底部

显示您正在使用Linux,但如果这适用于具有相同问题的未来读者:

对我来说,问题是我正在Windows Server 2008 R2上运行我的应用程序,并且我没有通过IIS管理器正确设置htaccess。我没有意识到我需要这样做,因为对于其他网站,我的htaccess文件工作正常,但没有一个使用mod_rewrite

解决方案是安装“IIS URL重写模块2”,然后我可以从IIS管理器使用它,在那里我可以选择“导入”Laravel附带的默认htaccess文件中的所有内容


之后,将加载所有页面,而不仅仅是索引

看起来您正在使用Linux,但如果这适用于具有相同问题的未来读者:

对我来说,问题是我正在Windows Server 2008 R2上运行我的应用程序,并且我没有通过IIS管理器正确设置htaccess。我没有意识到我需要这样做,因为对于其他网站,我的htaccess文件工作正常,但没有一个使用mod_rewrite

解决方案是安装“IIS URL重写模块2”,然后我可以从IIS管理器使用它,在那里我可以选择“导入”Laravel附带的默认htaccess文件中的所有内容


之后,将加载所有页面,而不仅仅是索引

我有默认情况下Laravel给你的.htaccess。我还从URL中删除了index.php部分。此外,还启用了mod_rewrite,这就是为什么我无法找出路由不起作用的原因。您是否尝试过在手动
Route::controller(array('site','ajax'))中加载控制器?是的,尽管它不工作。问题是,整个站点在我的本地开发环境(我使用XAMPP)上运行得很好,但在服务器上却没有:(.你的远程服务器使用的是什么web服务器?我似乎还记得Chrome不久前在我的几个网站上这样做,清除缓存实际上解决了这个问题…System Linux server 3.8.1#1 SMP Sun Mar 3 09:59:20 CET 2013 x86_64 Apache Version Apache/2.2.24来自phpinfo()。我得到了Laravel默认提供的.htaccess。此外,我还从URL中删除了index.php部分。此外,还启用了mod_rewrite,这就是为什么我无法找出路由不起作用的原因。您是否尝试过手动加载
Route::controller(array('site','ajax')中的控制器
?是的,尽管不起作用。问题是整个网站在我的本地开发环境(我使用XAMPP)上运行得很好,但在服务器上却不行:(.你的远程服务器使用的是什么web服务器?我似乎还记得Chrome不久前在我的几个网站上这样做,清除缓存实际上解决了这个问题…System Linux server 3.8.1#1 SMP Sun Mar 3 09:59:20 CET 2013 x86_64 Apache Version Apache/2.2.24来自phpinfo()。我遇到了完全相同的问题。我在本地工作得很好,但只有索引页显示在我的服务器上。你解决了吗?我遇到了完全相同的问题。我在本地工作得很好,但只有索引页显示在我的服务器上。你解决了吗?这没有完全解决问题,但我后来意识到我的路线确实很重要。这并没有完全解决它,但我后来意识到我宣布路线的顺序确实很重要。