Ответ 1
См. этот вопрос, в обновлении моего ответа я адресую вашу проблему. В частности, этот бит,
Я думаю, что ответ на вопрос: return 404 зависит от того, что ресурс, который извлекается. Является это представление поиска результат, или это представление продукт? Чтобы это знать, вам действительно нужно посмотреть на связь, которая привела нас к URL.
Если URL-адрес должен возвращать Представление продукта затем 404 должен быть возвращен, если код не существует. Если URL-адрес возвращает поиск результат не должен возвращать 404.
Конечным результатом является то, что URL похоже, не является определяющим фактор. Сказав это, соглашение о том, что строки запроса используются для возврата результатов поиска, чтобы больше интуитивно понятный стиль этого URL-адреса когда вы не хотите возвращать 404s.