最近我注意到laravel会话数据不起作用。我的意思是我可以登录等,但所有方法都
return back()->withInput()->with('success', 'sucess msg');
不再工作了。既不输入也不发送成功消息。
例如:我有这些路线:
Route::get('/profile/{id}', 'Frontend\UserController@profile');
Route::post('/profile', 'Frontend\UserController@update');
第一条路线打开一个用户个人资料页面,在那里他可以编辑他的个人资料并提交表格,然后调用更新方法:
public function update(Request $request) {
if($this->userService->validate($request)) {
if($this->userService->update()) {
return redirect('/profile/' . $request->id)->with('success', 'Profile updated!');
}
}
return back()->withInput()->with('profile_errors', $this->userService->errors());
}
如果用户成功更新,我会向他显示一条成功消息,该消息可在以下视图中访问:
@if(session('success'))
<div class="alert alert-success">
<strong>Success!</strong> {{ session('success') }}
</div>
@endif
我知道这段代码以前运作良好。但最近我注意到它并没有,并且在返回重定向或返回back()方法之后,网络上的所有成功,验证错误和所有输入数据都消失了。我是laravel的新手,我应该寻找什么来解决这个问题?
编辑评论:这是.htaccess文件的内容:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>
<IfModule mime_module>
AddType application/x-httpd-ea-php70 .php .php7 .phtml
</IfModule>