Как установить nginx перенаправление на mvc php приложение? - PullRequest
0 голосов
/ 27 марта 2020

У меня проблема с перенаправлением из nginx в php mvc приложения, поскольку все запросы, отправленные из nginx, ищут каталог. Я хотел бы отправить URL в качестве параметров, чтобы маршруты в приложении управляли ими. Оба они находятся на разных серверах.

.htaccess в приложении:

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteCond %{REQUEST_URI} !\.(css|js|png|jpg|svg|json|pdf|php)$ [NC]

    RewriteRule ^([^/]+)/? index.php?url=$1 [L,QSA]
</IfModule>

в nginx Я попробовал:

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

Могу ли я спросить совета, как настроить перенаправление с nginx на mvc приложение. Есть ли в заголовке запроса какой-либо тег, который сообщает серверу, что запрос ищет каталог?

Пример: https://site.domain/Users

В этом примере Users - это каталог, я хотел бы использовать его как "строковый параметр"

Пример запроса, который я получил в приложении:

IP - - [26/Mar/2020:15:13:20 +0000] "GET /Application/Admin?id=1322323 HTTP/1.0" 403 466 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0

В этом примере приложение - это каталог root, который работает правильно, но после "/" Папка .. без строки параметров ..

1 Ответ

1 голос
/ 27 марта 2020

Для nginx достаточно следующего (Вам не нужно привязывать какие-либо параметры запроса - они будут работать нормально)

location ~ ^/ {
    try_files $uri $uri/ /index.php;
}

Для apache Я бы сделал

RewriteRule ^(.*)$ index.php?url=$1&%{QUERY_STRING} [L,R=301] 

Дайте нам знать результат

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