Laravel возвращает 302 в каком-то машинном браузере
У меня в приложении странное поведение, если открыть этот 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 answers
Настоящая Проблема
URL-адрес был другим, т.Е. Сеансы, установленные на 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]