На моем веб-сайте на персидском языке есть некоторые проблемы с обработкой 301 перенаправлений , когда работник службы выбирает некоторые запросы с персидскими / персидскими символами .
Как обычно, когда пользователь вводит ключевое слово, например, رامسر (Ramsar as Engli sh) отправляет поисковую форму Ajax, запрос, как показано ниже, отправляется на сервер (Apache / Laravel):
https://www.example.com/s?search=%D8%B1%D8%A7%D9%85%D8%B3%D8%B1&gstnum=1
Обратите внимание, что % D8% B1% D8% A7% D9% 85% D8% B3% D8% B1 - это Unicode из رامسر .
Итак, на бэкэнде этот запрос перенаправляет на другой URL (301 Redirecting):
https://www.example.com/s/ramsar/%D8%A7%D8%AC%D8%A7%D8%B1%D9%87-%D9%88%DB%8C%D9%84%D8%A7-%D9%88-%D8%B3%D9%88%D8%A6%DB%8C%D8%AA-%D8%AF%D8%B1-%D8%B1%D8%A7%D9%85%D8%B3%D8%B1?gstnum=
Выше приведен тип кодировки этого URL:
https://www.example.com/s/ramsar/اجاره-ویلا-و-سوئیت-در-رامسر
Но, когда сервис-работник работает, он не может установить правильную настройку символов в ответном URL-адресе, он возвращает:
https://www.example.com/s/ramsar/اجارÙ-ÙÛÙا-Ù-سÙئÛت-در-راÙسر
Это мой код для метода выборки сервис-работника:
self.addEventListener("fetch", function (event) {
if (event.request.method === "GET" && event.request.mode === "navigate") {
event.respondWith(async function () {
try {
var networkResponse = await fetch(event.request);
return networkResponse;
} catch (error) {
...
}
}());
}
});
Что я могу сделать?