Я могу использовать запятые в URL?

Если «я добавил« импорт-экспорт »в мои приложения». означает

# settings.py
INSTALLED_APPS = (
    ...
    'import_export',
)

это может быть

import import_export

без дефиса, это подчеркивание

35
задан Robert Paulson 13 October 2008 в 22:40
поделиться

7 ответов

Я вспоминаю, что Маршрутизация URL значением по умолчанию сначала проверяет, чтобы видеть, существует ли файл, и запятые не законны в именах файлов, который является, возможно, почему Вы получаете ошибки. IIS может иметь унаследованный код, который прерывает запрос, прежде чем это сможет добраться до asp.net для обработки.

Scott Hanselman сообщение в блоге переговоры немного об этом и может быть важно для Вас.

<час>

Как замечание общего порядка: перезапись URL обычно используется для создания URL дружественным и легким помнить.

~/page.aspx?id=1,2,3,4 не хуже и не лучше, чем ~/page/1-2-3-4.aspx: обоих трудно использовать итак, почему проходят дополнительное усилие? Постарайтесь не создавать новые формы URL просто, потому что Вы можете. Пользователи, справочная служба и другие разработчики будут просто смущены.

перезапись URL лучше всего используется для преобразования

~/products/view.aspx?id=1
~/products/category.aspx?type=beverage

в [1 110]

~/products/view/1
~/products/category/beverage
26
ответ дан 27 November 2019 в 06:42
поделиться

Запятые позволяются в части имени файла URL, но являются зарезервированными символами в домене*, насколько я знаю.

, Какую версию IE Вы используете? Я столкнулся с нечетным сообщением о URL усечения IE5.5 на запятой ( ссылка здесь , но протестировали URL с запятыми в IE7, и это, кажется, в порядке, поэтому если была ошибка IE, это, кажется, не там еще - это могла быть проблема IIS?

я задаюсь вопросом, происходит ли ошибка страницы из-за отказа правила с mod_rewrite - можно ли отправить правило, которое соответствует нескольким идентификаторам и выдает их к Вашему Foo.aspx? Есть ли шанс, что это только соответствует Foo.N,N и перестало работать на большем количестве запятых?

<час> * От URI RFC :

2.2. Зарезервированные символы

Многие URI включают компоненты, состоящие из или разграниченный, определенные специальные символы. Эти символы называют "зарезервированными", так как их использование в компоненте URI ограничено их зарезервированной целью. Если бы данные для компонента URI конфликтовали бы с зарезервированной целью, то противоречивых данных нужно оставить прежде, чем сформировать URI.

 reserved    = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" |
                "$" | ","

"зарезервированный" класс синтаксиса выше относится к тем символам, которые позволяются в URI, но которые не могут быть позволены в конкретном компоненте универсального синтаксиса URI

37
ответ дан 27 November 2019 в 06:42
поделиться

Запятая позволяется в пути, строке запроса и фрагменте согласно спецификации. Меня не удивило бы, если IE не соответствует спецификации все же. Попробуйте объект, как Claudiu предполагает, но я не знаю, почему это было бы необходимо.

3
ответ дан 27 November 2019 в 06:42
поделиться

Правильный путь к принимает , несколько идентификаторов похожи на это:

Foo.aspx?id=1;id=2;id=3;id=4;id=5

Примечание это, какова цель. При перезаписи URL можно установить собственные правила до некоторой степени для того, на что Вы хотите, чтобы источник был похож.

я должен был изучить это на StackOverflow, также. Посмотрите этот вопрос:
Разделение ints от строки

1
ответ дан 27 November 2019 в 06:42
поделиться

Ответ

проблема был запятыми. Я предполагаю, что IIS имел проблему с ним (не IE), так как IE смог отобразить его прекрасный на localhost.

Во всяком случае я просто изменил Формат ссылки на это, и он хорошо работает:

Foo.1-2-3-4-5.aspx
1
ответ дан 27 November 2019 в 06:42
поделиться

При помещении на месте фронтального контроллера тогда, Вы могли бы сделать что-то как;

index.aspx?c=Foo/1/2/3/4

Фронтальный контроллер взял бы имя метода и параметры для передачи ему. Это - довольно общая техника в наше время.

1
ответ дан 27 November 2019 в 06:42
поделиться

Попробуйте использовать %2c в URL для замены запятых.

14
ответ дан 27 November 2019 в 06:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: