Я работаю над Laravel 5 и запускаю API, поэтому я просто создал очень простой маршрут и контроллер, чтобы проверить, где будет достигнут маршрут. Это то, что у меня есть в routes\api.php
Route::group(array('prefix' => 'test', 'middleware' => ['guest']), function()
{
Route::get('/', 'Aiapi\BaseAIApiController@index');
});
И контроллере:
class BaseAIApiController extends Controller
{
public function index()
{
return 'HI';
}
}
В моем Http\Kernel.php
это то, как гостевое промежуточное ПО объявлено внутри $routeMiddleware
variable: 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
и это содержимое метода handle
(я прокомментировал блок if, и происходит то же самое):
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->check()) {
return redirect('/home');
}
return $next($request);
}
Когда я выполняю php artisan route:list
, я вижу этот маршрут там,Я также выполнил php artisan route:clear
, но когда я нажал /api/test/
, меня перенаправили на домашнюю страницу сайта. Вот содержимое .htaccess
внутри папки public
:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
RewriteRule thumb/([[:alnum:]]+)\/(.*) thumbnail/?src=$2¶ms=$1 [QSA,L,NC]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
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>
Я попытался удалить блок строки с помощью 301 redirect
, но он делает то же самое. Что я здесь делаю не так? Я пытался ответить на похожие вопросы в StackOverflow, и пока что ни один из них не помог мне.
Спасибо за любую помощь