我的应用程序中有一个陌生的行为,如果打开这个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 );
但仍无法正常工作
答案 0 :(得分:6)
真正的问题
网址不同,即:example.com
上设置的会话以及未设置会话的http://www.example.com/
上的下一个请求。
解决方案
我必须更改我的.htaccess
文件,以便用户输入www.example.com
,example.com
或http://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]