Как перенаправить // в Laravel 5.7?

#php #laravel #.htaccess #redirect #laravel-5

Вопрос:

Более старая версия laravel здесь, 5.7. У меня есть ситуация, когда у меня есть такой URL-адрес http://127.0.0.1:8000//

У меня есть подвох во всем этом

 Route::get('{uri}', ['uses'=>'PageController@render'])->where('uri', '(.*)');
 

URL-адрес, который входит в render метод, таков '' .
Я не совсем уверен, что лучший способ принять http://127.0.0.1:8000// и перенаправить это на http://127.0.0.1:8000.

.htaccess, похоже, не позволяет мне перенаправлять это либо с Redirect 301 // / помощью, либо RewriteRule ^$ /? [L,R=301]

Есть ли какой-нибудь способ обойти это?

Спасибо!

Ответ №1:

Они рассматриваются как один и тот же ресурс в браузере. В любом случае вы можете проверить URI запроса на сервере и перенаправить его на корневой путь следующим образом:

 Route::get('/', function () {

    // check the request URI
    if($_SERVER['REQUEST_URI'] !== '/')
    {
        return redirect('/');
    }

    # The rest of the code
    # ...
});
 

Комментарии:

1. спасибо @milad. Мне нужно немного поработать лицом к лицу, я думал, что пробовал это, но на самом деле я использовал $_REQUEST['REQUEST_URI'] неудивительно, что это не сработало для меня :/

2. Это случается со всеми. Рад, что это помогло 🙂