Если «я добавил« импорт-экспорт »в мои приложения». означает
# settings.py
INSTALLED_APPS = (
...
'import_export',
)
это может быть
import import_export
без дефиса, это подчеркивание
Я вспоминаю, что Маршрутизация 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
Запятые позволяются в части имени файла 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
Запятая позволяется в пути, строке запроса и фрагменте согласно спецификации. Меня не удивило бы, если IE не соответствует спецификации все же. Попробуйте объект, как Claudiu предполагает, но я не знаю, почему это было бы необходимо.
Правильный путь к принимает , несколько идентификаторов похожи на это:
Foo.aspx?id=1;id=2;id=3;id=4;id=5
Примечание это, какова цель. При перезаписи URL можно установить собственные правила до некоторой степени для того, на что Вы хотите, чтобы источник был похож.
я должен был изучить это на StackOverflow, также. Посмотрите этот вопрос:
Разделение ints от строки
проблема был запятыми. Я предполагаю, что IIS имел проблему с ним (не IE), так как IE смог отобразить его прекрасный на localhost.
Во всяком случае я просто изменил Формат ссылки на это, и он хорошо работает:
Foo.1-2-3-4-5.aspx
При помещении на месте фронтального контроллера тогда, Вы могли бы сделать что-то как;
index.aspx?c=Foo/1/2/3/4
Фронтальный контроллер взял бы имя метода и параметры для передачи ему. Это - довольно общая техника в наше время.
Попробуйте использовать %2c
в URL для замены запятых.