Не работает поиск по тегам, содержащим слэш
Если задать топику тег, содержащий прямой слэш или обратный слэш, то поиск по такому тегу не работает, выдается ошибка 404.
В случае с прямым слэшем ошибку выдает Livestreet, а в случае с обратным, похоже, роутинг вообще не работает, и у меня ошибку выдает сам Apache.
В случае с прямым слэшем ошибку выдает Livestreet, а в случае с обратным, похоже, роутинг вообще не работает, и у меня ошибку выдает сам Apache.
11 комментариев
Можно, скажем, просто генерировать для таких тегов другие URL, скажем, tag/AC-DC/ или tag/AC%2FDC/
Выкрутиться можно, словом.
Думаю, этот нюанс можно отнести к категории багов, и надеятся, что он будет устранен на уровне ядра движка, чтоб не заниматься самопальными заплатками.
я не спорю что это недодумка в логике ядра… но пока как быстрая заплатка наверно себе так сделаю как написал.
гг пошел проверил тоже самое в поиске… а там логика то уже другая =)) search/topics/?q=AC%2FDC =) прекрасно пашет =)
может теги тоже поиском просто обрабатывать? ну примерно поиском… логику от туда взять.
Как вариант, можно сделать двойной urlencoding.
Т.е. слэш — это %2f. Если применить urencode к %2f, то получим %252f, это уже вэбсервер обработает правильно. Т.е. роутинг так и останется, /tag/бла%252fбла. А вот в базу/из базы нужно клась/доставать кодированные правильно значения.