Страница результатов поиска с параметрами, переданными в url, возвращает статус 404 - PullRequest
0 голосов
/ 08 июля 2020

Попытка реализовать простой поиск на моем laravel веб-сайте с использованием следующей формы:

<form action="https://www.example.com/search-results" class="cse-search-box"> 
    <input type="hidden" name="cx" value="partner-pub-mygoogleid:myid"> 
    <input type="hidden" name="cof" value="FORID:10"> 
    <input type="hidden" name="ie" value="UTF-8"> 
    <input type="text" class="search-inp icon" name="q" size="30" placeholder="Search my site"> 
</form>

URL, который создается этой формой:

https://www.examlle.com/search-results?cx=partner-pub-mygoogleid%myid&cof=FORID%3A10&ie=UTF-8&q=searchterm`

Мой маршрут:

Route::get('search-results', 'SearchController@getResults');

Кажется, все работает, кроме одной очень интересной вещи, на странице результатов поиска отображается статус 404.

Когда я удаляю параметры из URL-адреса, статус меняется на 200.

Есть идеи, почему это происходит, или какие-либо предложения, как реализовать эту форму так, чтобы ее ответ был 200, когда присутствуют параметры?

1 Ответ

0 голосов
/ 09 июля 2020

Я обнаружил проблему в моем nginx.conf

Проблема была внутри блока location php с этой строкой try_files $query_string/index.php =404;

location ~ \.php$ {
    # try_files $query_string/index.php =404;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    fastcgi_index index.php;
    include fastcgi_params;
}

После комментирования все работает как предназначено, и у меня больше нет status 404 на моей странице результатов поиска

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...