Laravel在某些机器中返回302 - 浏览器

时间:2016-01-18 14:39:09

标签: php laravel laravel-4 routes

我的应用程序中有一个陌生的行为,如果打开这个URL

http://example.com/Pd/Country/1

在某些计算机和浏览器中,我得到了预期的结果,响应代码为200,其他计算机返回302

在我的routes

Route::group(array('prefix' => 'Pd'), function() {
   Route::get('Country/{id}','CountryController@getAll');
});

更新 我发现问题是会话没有在某些机器和浏览器中保留,我有一些建议在Session::save();之后添加Session::push('keyvalue',$keyvalue );但仍无法正常工作

1 个答案:

答案 0 :(得分:6)

真正的问题

网址不同,即:example.com上设置的会话以及未设置会话的http://www.example.com/上的下一个请求。

解决方案

我必须更改我的.htaccess文件,以便用户输入www.example.comexample.comhttp://example.com/是否会更改为http://www.example.com/

Options -MultiViews
RewriteEngine On

# remove index.php
RewriteCond %{THE_REQUEST} /index\.php [NC]
RewriteRule ^(.*?)index\.php$ /$1 [L,R=302,NC,NE]

RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteRule ^ http://www.example.com%{REQUEST_URI} [R=301,L,NE]

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