Как различать файлы и каталоги в шаблонах URL?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как различать файлы и каталоги в шаблонах URL?

Сообщение Anonymous »

Я пытаюсь настроить Nginx для перезаписи URL-адресов по-разному в зависимости от того, соответствует ли первый сегмент пути файлу или каталогу в файловой системе.
Это пример что я сделал:

Код: Выделить всё

location @rewrite {
# Rule for URLs like /file/params (file with parameters)
rewrite ^/([^/]+)/(.+)$ /$1.php?$2 last;

# Rule for directories like /folder/file/params
rewrite ^(/[^/]+)/([^/]+)/?(.*)$ $1/$2.php?$3 last;

# Fallback rule for requests like /file
rewrite ^/([^/]+)$ /$1.php last;
}
Вот как я читаю параметры в PHP:

Код: Выделить всё

$param = explode('/',$_SERVER['REQUEST_URI']);
Например, если URL-адрес был:

Код: Выделить всё

https://example.com/test-file-php/param0/param1/etc
Таким образом, вы можете читать массив $param по порядку, а другое мое использование

Код: Выделить всё

https://example.com/testfolder/test-file-php/param0/param1/etc
и я хочу вот это:

Код: Выделить всё

https://example.com/(folder|file|param)/(folder|file|param)/param0/param1/etc
Кроме того, я думаю, что если у меня есть способ определить, что это за файл, к которому мы делаем запрос, я думаю, что смогу решить эту проблему, я имею в виду, что это папка или файл, но мой код выше в Nginx не работает должным образом.

Подробнее здесь: https://stackoverflow.com/questions/792 ... l-patterns
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»