• Как понять, что пользователь SignalR закрыл браузер (или перешел на другую страницу)?

    @Gedonist Автор вопроса
    Andrei SunnyPh, я группы планирую использовать в немного нестандартной версии: каждая группа будет содержать все подключения одного юзера (у которого может быть один или несколько браузеров, мобильное приложение, API интеграция или что-то ещё), чтобы при поступлении новых сообщений для юзера отправлять их на все его девайсы.
    Спасибо за советы!
    Написано
  • Как понять, что пользователь SignalR закрыл браузер (или перешел на другую страницу)?

    @Gedonist Автор вопроса
    Andrei SunnyPh, так и есть: я вызываю UsersListChanged на всех клиентах
    В клиенте я подписываюсь на это событие вот так:
    _hubConnection.On("UsersListChanged", () => ReloadOnlineUsers());

    Вызывается метод:
    protected async Task ReloadOnlineUsers()
        {       
            _usersOnline = await _hubConnection.InvokeAsync<List<int>>("WhoIsOnline", _messagesTabs.Select(x => x.CodeUserReply).ToList());
            await InvokeAsync(StateHasChanged);
        }


    Грубо говоря, я отправляю список контактов текущего юзера на сервер. Сервер возвращает, кто из контактов юзера сейчас онлайн.

    Но проблема не в этом, проблема в том, что метод OnDisconnectedAsync не вызывается.
    Я скачал SignalRChat, добавил методы

    public override async Task OnConnectedAsync()
            {
                Console.WriteLine("Пользователь подключился: " + Context.ConnectionId);
                await base.OnConnectedAsync();
            }
    
            public override async Task OnDisconnectedAsync(Exception e)
            {
                Console.WriteLine("Пользователь отвалился: " + Context.ConnectionId);
                await base.OnDisconnectedAsync(e);
            }


    И тут такая же тема происходит: пользователи подключаются, но не отваливаются. Если переходить с главной страницы на страницу чата несколько раз, то каждый раз создаётся новое соединение, но старое не отваливается.

    PS Сделал видео происходящего, оно тут.
    Написано
  • Как понять, что пользователь SignalR закрыл браузер (или перешел на другую страницу)?

    @Gedonist Автор вопроса
    OwDafuq,
    1) да, это я уже понял, больше для примера написал так, исправлю.
    2) уверен, там также диагностические сообщения выводятся.
    Метод OnDisconnectedAsync у меня получается вызывать только одним способом:
    если брейкпойнтом остановить выполнение, подождать немного и запустить снова. Тогда все клиенты вываливаются в OnDisconnectedAsync.
    Написано
  • Можно ли на чистом CSS показывать tooltip, только если текст не умещается в блоке?

    @Gedonist Автор вопроса
    проверять на js?
    или в css есть какие-то конструкции типа
    div1:width > div2:width {display: none}
    Написано
  • Как правильно настроить mod rewrite?

    @Gedonist Автор вопроса
    dodo512, ура, заработало! Спасибо огромное
  • Как правильно настроить mod rewrite?

    @Gedonist Автор вопроса
    dodo512,
    Ситуация, когда код вставлен после вордпрессовского. Главная страница (редирект происходит правильно):
    HTTP/1.1 302 Found
    Server: nginx/1.19.1
    Date: Thu, 26 May 2022 09:50:19 GMT
    Content-Type: text/html; charset=iso-8859-1
    Connection: keep-alive
    Keep-Alive: timeout=10
    Location: http://jurist-arbitr.ru/check
    Cache-Control: max-age=25920000
    Expires: Wed, 22 Mar 2023 09:50:19 GMT
    
    HTTP/1.1 301 Moved Permanently
    Server: nginx/1.19.1
    Date: Thu, 26 May 2022 09:50:20 GMT
    Content-Type: text/html; charset=UTF-8
    Connection: keep-alive
    Keep-Alive: timeout=10
    X-Powered-By: PHP/7.4.28
    Set-Cookie: apbct_timestamp=1653558619; path=/; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_site_landing_ts=1653558619; path=/; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_page_hits=1; path=/; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_cookies_test=%257B%2522cookies_names%2522%253A%255B%2522apbct_timestamp%2522%252C%2522apbct_site_landing_ts%2522%252C%2522apbct_page_hits%2522%255D%252C%2522check_value%2522%253A%252295846fe8614cceb40d4a0651a3451f1f%2522%257D; path=/; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_urls=%7B%22jurist-arbitr.ru%2Fcheck%22%3A%5B1653558619%5D%7D; expires=Sun, 29-May-2022 09:50:19 GMT; Max-Age=259200; path=/; domain=jurist-arbitr.ru; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_site_referer=UNKNOWN; expires=Sun, 29-May-2022 09:50:19 GMT; Max-Age=259200; path=/; domain=jurist-arbitr.ru; HttpOnly; SameSite=Lax
    X-Redirect-By: WordPress
    Location: https://jurist-arbitr.ru/check
    Expires: Wed, 22 Mar 2023 09:50:19 GMT
    
    HTTP/1.1 301 Moved Permanently
    Server: nginx/1.19.1
    Date: Thu, 26 May 2022 09:50:20 GMT
    Content-Type: text/html; charset=UTF-8
    Connection: keep-alive
    Keep-Alive: timeout=10
    X-Powered-By: PHP/7.4.28
    Set-Cookie: apbct_timestamp=1653558620; path=/; secure; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_site_landing_ts=1653558620; path=/; secure; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_page_hits=1; path=/; secure; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_cookies_test=%257B%2522cookies_names%2522%253A%255B%2522apbct_timestamp%2522%252C%2522apbct_site_landing_ts%2522%252C%2522apbct_page_hits%2522%255D%252C%2522check_value%2522%253A%25225bb48b618cab016be9ebac9e2379ec50%2522%257D; path=/; secure; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_urls=%7B%22jurist-arbitr.ru%2Fcheck%22%3A%5B1653558620%5D%7D; expires=Sun, 29-May-2022 09:50:20 GMT; Max-Age=259200; path=/; domain=jurist-arbitr.ru; secure; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_site_referer=UNKNOWN; expires=Sun, 29-May-2022 09:50:20 GMT; Max-Age=259200; path=/; domain=jurist-arbitr.ru; secure; HttpOnly; SameSite=Lax
    X-Redirect-By: WordPress
    Location: https://jurist-arbitr.ru/check/
    Expires: Wed, 22 Mar 2023 09:50:20 GMT
    
    HTTP/1.1 200 OK
    Server: nginx/1.19.1
    Date: Thu, 26 May 2022 09:50:20 GMT
    Content-Type: text/html; charset=UTF-8
    Connection: keep-alive
    Keep-Alive: timeout=10
    Vary: Accept-Encoding
    X-Powered-By: PHP/7.4.28
    Set-Cookie: apbct_timestamp=1653558620; path=/; secure; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_site_landing_ts=1653558620; path=/; secure; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_page_hits=1; path=/; secure; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_cookies_test=%257B%2522cookies_names%2522%253A%255B%2522apbct_timestamp%2522%252C%2522apbct_site_landing_ts%2522%252C%2522apbct_page_hits%2522%255D%252C%2522check_value%2522%253A%25225bb48b618cab016be9ebac9e2379ec50%2522%257D; path=/; secure; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_urls=%7B%22jurist-arbitr.ru%2Fcheck%2F%22%3A%5B1653558620%5D%7D; expires=Sun, 29-May-2022 09:50:20 GMT; Max-Age=259200; path=/; domain=jurist-arbitr.ru; secure; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_site_referer=UNKNOWN; expires=Sun, 29-May-2022 09:50:20 GMT; Max-Age=259200; path=/; domain=jurist-arbitr.ru; secure; HttpOnly; SameSite=Lax
    Link: <https://jurist-arbitr.ru/?p=5630>; rel=shortlink
    Expires: Wed, 22 Mar 2023 09:50:20 GMT


    Ситуация, когда код вставлен после вордпрессовского, но обращение на внутреннюю страницу, редирект не происходит:

    HTTP/1.1 200 OK
    Server: nginx/1.19.1
    Date: Thu, 26 May 2022 09:52:55 GMT
    Content-Type: text/html; charset=UTF-8
    Connection: keep-alive
    Keep-Alive: timeout=10
    Vary: Accept-Encoding
    X-Powered-By: PHP/7.4.28
    Set-Cookie: apbct_timestamp=1653558775; path=/; secure; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_site_landing_ts=1653558775; path=/; secure; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_page_hits=1; path=/; secure; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_cookies_test=%257B%2522cookies_names%2522%253A%255B%2522apbct_timestamp%2522%252C%2522apbct_site_landing_ts%2522%252C%2522apbct_page_hits%2522%255D%252C%2522check_value%2522%253A%25224f996e3599606c413531306a01e3c424%2522%257D; path=/; secure; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_urls=%7B%22jurist-arbitr.ru%2Fwin%2F%22%3A%5B1653558775%5D%7D; expires=Sun, 29-May-2022 09:52:55 GMT; Max-Age=259200; path=/; domain=jurist-arbitr.ru; secure; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_site_referer=UNKNOWN; expires=Sun, 29-May-2022 09:52:55 GMT; Max-Age=259200; path=/; domain=jurist-arbitr.ru; secure; HttpOnly; SameSite=Lax
    Link: <https://jurist-arbitr.ru/?p=3137>; rel=shortlink
    Expires: Wed, 22 Mar 2023 09:52:55 GMT
  • Как правильно настроить mod rewrite?

    @Gedonist Автор вопроса
    dodo512,
    Когда код вставлен до вордпрессовского и происходит циклический редирект:

    HTTP/1.1 302 Found
    Server: nginx/1.19.1
    Date: Thu, 26 May 2022 09:59:49 GMT
    Content-Type: text/html; charset=iso-8859-1
    Connection: keep-alive
    Keep-Alive: timeout=10
    Location: http://jurist-arbitr.ru/check
    Cache-Control: max-age=25920000
    Expires: Wed, 22 Mar 2023 09:59:49 GMT
    
    HTTP/1.1 301 Moved Permanently
    Server: nginx/1.19.1
    Date: Thu, 26 May 2022 09:59:50 GMT
    Content-Type: text/html; charset=UTF-8
    Connection: keep-alive
    Keep-Alive: timeout=10
    X-Powered-By: PHP/7.4.28
    Set-Cookie: apbct_timestamp=1653559189; path=/; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_site_landing_ts=1653559189; path=/; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_page_hits=1; path=/; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_cookies_test=%257B%2522cookies_names%2522%253A%255B%2522apbct_timestamp%2522%252C%2522apbct_site_landing_ts%2522%252C%2522apbct_page_hits%2522%255D%252C%2522check_value%2522%253A%2522bf8888ef35bc2873dbf18d7635eafd26%2522%257D; path=/; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_urls=%7B%22jurist-arbitr.ru%2Fcheck%22%3A%5B1653559189%5D%7D; expires=Sun, 29-May-2022 09:59:49 GMT; Max-Age=259200; path=/; domain=jurist-arbitr.ru; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_site_referer=UNKNOWN; expires=Sun, 29-May-2022 09:59:49 GMT; Max-Age=259200; path=/; domain=jurist-arbitr.ru; HttpOnly; SameSite=Lax
    X-Redirect-By: WordPress
    Location: https://jurist-arbitr.ru/check
    Expires: Wed, 22 Mar 2023 09:59:49 GMT
    
    HTTP/1.1 301 Moved Permanently
    Server: nginx/1.19.1
    Date: Thu, 26 May 2022 09:59:50 GMT
    Content-Type: text/html; charset=UTF-8
    Connection: keep-alive
    Keep-Alive: timeout=10
    X-Powered-By: PHP/7.4.28
    Set-Cookie: apbct_timestamp=1653559190; path=/; secure; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_site_landing_ts=1653559190; path=/; secure; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_page_hits=1; path=/; secure; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_cookies_test=%257B%2522cookies_names%2522%253A%255B%2522apbct_timestamp%2522%252C%2522apbct_site_landing_ts%2522%252C%2522apbct_page_hits%2522%255D%252C%2522check_value%2522%253A%25226d126499dbadb7b71fd84362202b9b25%2522%257D; path=/; secure; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_urls=%7B%22jurist-arbitr.ru%2Fcheck%22%3A%5B1653559190%5D%7D; expires=Sun, 29-May-2022 09:59:50 GMT; Max-Age=259200; path=/; domain=jurist-arbitr.ru; secure; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_site_referer=UNKNOWN; expires=Sun, 29-May-2022 09:59:50 GMT; Max-Age=259200; path=/; domain=jurist-arbitr.ru; secure; HttpOnly; SameSite=Lax
    X-Redirect-By: WordPress
    Location: https://jurist-arbitr.ru/check/
    Expires: Wed, 22 Mar 2023 09:59:50 GMT
    
    HTTP/1.1 302 Found
    Server: nginx/1.19.1
    Date: Thu, 26 May 2022 09:59:50 GMT
    Content-Type: text/html; charset=iso-8859-1
    Connection: keep-alive
    Keep-Alive: timeout=10
    Location: http://jurist-arbitr.ru/check
    Cache-Control: max-age=25920000
    Expires: Wed, 22 Mar 2023 09:59:50 GMT
    
    HTTP/1.1 301 Moved Permanently
    Server: nginx/1.19.1
    Date: Thu, 26 May 2022 09:59:50 GMT
    Content-Type: text/html; charset=UTF-8
    Connection: keep-alive
    Keep-Alive: timeout=10
    X-Powered-By: PHP/7.4.28
    Set-Cookie: apbct_timestamp=1653559190; path=/; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_site_landing_ts=1653559190; path=/; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_page_hits=1; path=/; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_cookies_test=%257B%2522cookies_names%2522%253A%255B%2522apbct_timestamp%2522%252C%2522apbct_site_landing_ts%2522%252C%2522apbct_page_hits%2522%255D%252C%2522check_value%2522%253A%25226d126499dbadb7b71fd84362202b9b25%2522%257D; path=/; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_urls=%7B%22jurist-arbitr.ru%2Fcheck%22%3A%5B1653559190%5D%7D; expires=Sun, 29-May-2022 09:59:50 GMT; Max-Age=259200; path=/; domain=jurist-arbitr.ru; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_site_referer=UNKNOWN; expires=Sun, 29-May-2022 09:59:50 GMT; Max-Age=259200; path=/; domain=jurist-arbitr.ru; HttpOnly; SameSite=Lax
    X-Redirect-By: WordPress
    Location: https://jurist-arbitr.ru/check
    Expires: Wed, 22 Mar 2023 09:59:50 GMT
    
    HTTP/1.1 301 Moved Permanently
    Server: nginx/1.19.1
    Date: Thu, 26 May 2022 09:59:50 GMT
    Content-Type: text/html; charset=UTF-8
    Connection: keep-alive
    Keep-Alive: timeout=10
    X-Powered-By: PHP/7.4.28
    Set-Cookie: apbct_timestamp=1653559190; path=/; secure; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_site_landing_ts=1653559190; path=/; secure; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_page_hits=1; path=/; secure; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_cookies_test=%257B%2522cookies_names%2522%253A%255B%2522apbct_timestamp%2522%252C%2522apbct_site_landing_ts%2522%252C%2522apbct_page_hits%2522%255D%252C%2522check_value%2522%253A%25226d126499dbadb7b71fd84362202b9b25%2522%257D; path=/; secure; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_urls=%7B%22jurist-arbitr.ru%2Fcheck%22%3A%5B1653559190%5D%7D; expires=Sun, 29-May-2022 09:59:50 GMT; Max-Age=259200; path=/; domain=jurist-arbitr.ru; secure; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_site_referer=UNKNOWN; expires=Sun, 29-May-2022 09:59:50 GMT; Max-Age=259200; path=/; domain=jurist-arbitr.ru; secure; HttpOnly; SameSite=Lax
    X-Redirect-By: WordPress
    Location: https://jurist-arbitr.ru/check/
    Expires: Wed, 22 Mar 2023 09:59:50 GMT
    
    HTTP/1.1 302 Found
    Server: nginx/1.19.1
    Date: Thu, 26 May 2022 09:59:50 GMT
    Content-Type: text/html; charset=iso-8859-1
    Connection: keep-alive
    Keep-Alive: timeout=10
    Location: http://jurist-arbitr.ru/check
    Cache-Control: max-age=25920000
    Expires: Wed, 22 Mar 2023 09:59:50 GMT
    
    HTTP/1.1 301 Moved Permanently
    Server: nginx/1.19.1
    Date: Thu, 26 May 2022 09:59:50 GMT
    Content-Type: text/html; charset=UTF-8
    Connection: keep-alive
    Keep-Alive: timeout=10
    X-Powered-By: PHP/7.4.28
    Set-Cookie: apbct_timestamp=1653559190; path=/; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_site_landing_ts=1653559190; path=/; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_page_hits=1; path=/; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_cookies_test=%257B%2522cookies_names%2522%253A%255B%2522apbct_timestamp%2522%252C%2522apbct_site_landing_ts%2522%252C%2522apbct_page_hits%2522%255D%252C%2522check_value%2522%253A%25226d126499dbadb7b71fd84362202b9b25%2522%257D; path=/; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_urls=%7B%22jurist-arbitr.ru%2Fcheck%22%3A%5B1653559190%5D%7D; expires=Sun, 29-May-2022 09:59:50 GMT; Max-Age=259200; path=/; domain=jurist-arbitr.ru; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_site_referer=UNKNOWN; expires=Sun, 29-May-2022 09:59:50 GMT; Max-Age=259200; path=/; domain=jurist-arbitr.ru; HttpOnly; SameSite=Lax
    X-Redirect-By: WordPress
    Location: https://jurist-arbitr.ru/check
    Expires: Wed, 22 Mar 2023 09:59:50 GMT
    
    HTTP/1.1 301 Moved Permanently
    Server: nginx/1.19.1
    Date: Thu, 26 May 2022 09:59:51 GMT
    Content-Type: text/html; charset=UTF-8
    Connection: keep-alive
    Keep-Alive: timeout=10
    X-Powered-By: PHP/7.4.28
    Set-Cookie: apbct_timestamp=1653559190; path=/; secure; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_site_landing_ts=1653559190; path=/; secure; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_page_hits=1; path=/; secure; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_cookies_test=%257B%2522cookies_names%2522%253A%255B%2522apbct_timestamp%2522%252C%2522apbct_site_landing_ts%2522%252C%2522apbct_page_hits%2522%255D%252C%2522check_value%2522%253A%25226d126499dbadb7b71fd84362202b9b25%2522%257D; path=/; secure; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_urls=%7B%22jurist-arbitr.ru%2Fcheck%22%3A%5B1653559190%5D%7D; expires=Sun, 29-May-2022 09:59:50 GMT; Max-Age=259200; path=/; domain=jurist-arbitr.ru; secure; HttpOnly; SameSite=Lax
    Set-Cookie: apbct_site_referer=UNKNOWN; expires=Sun, 29-May-2022 09:59:50 GMT; Max-Age=259200; path=/; domain=jurist-arbitr.ru; secure; HttpOnly; SameSite=Lax
    X-Redirect-By: WordPress
    Location: https://jurist-arbitr.ru/check/
    Expires: Wed, 22 Mar 2023 09:59:50 GMT
    
    HTTP/1.1 302 Found
    Server: nginx/1.19.1
    Date: Thu, 26 May 2022 09:59:51 GMT
    Content-Type: text/html; charset=iso-8859-1
    Connection: keep-alive
    Keep-Alive: timeout=10
    Location: http://jurist-arbitr.ru/check
    Cache-Control: max-age=25920000
    Expires: Wed, 22 Mar 2023 09:59:51 GMT
  • Как правильно настроить mod rewrite?

    @Gedonist Автор вопроса
    dodo512, не думаю, что дело в кэше. Изменения происходят моментально: перенёс код над директивами wp - циклический редирект. Перенёс обратно - тут же сайт снова заработал
  • Как правильно настроить mod rewrite?

    @Gedonist Автор вопроса
    dodo512, оба варианта всё-равно дают бесконечную переадресацию
  • Как установить ImunifyAV на shared хостинг?

    @Gedonist Автор вопроса
    Дмитрий, какие права? в /var я через ssh могу зайти только на чтение. Создать там папку log и lock не удаётся.
  • Как сделать слайдшоу из папки под WP?

    @Gedonist Автор вопроса
    Дмитрий Рекун, на самом деле там вопрос скорее про движок магазина. Он на virtuemart под joomla 2.5. При попытке перейти на J3 и более новую версию VM соответственно, я столкнулся с кучей проблем в самых простых вещах и очень вялую поддержку сообщества. Т.е. мало кто сидит на этом движке магазина, поэтому даже несложные вещи приходится постигать самому, а не брать готовые сниппеты с форумов)
    Поэтому для владельца получается такой магазин довольно дорогим в обслуживании. Приняли решение переехать на WooCommerce, как на более распространенный и проработанный.
  • Как сделать слайдшоу из папки под WP?

    @Gedonist Автор вопроса
    я могу найти сторонний скрипт, который делал бы из выданных картинок слайдшоу, который бы работал на jQuery допустим. Но насколько я понимаю, js не может получить листинг папки, это можно организовать средствами php или самой wp. Видимо механизм шорткодов может с этим помочь, буду копать в этом направлении.
  • Как сделать слайдшоу из папки под WP?

    @Gedonist Автор вопроса
    Спасибо, буду разбираться с созданием шорткодов.
  • Почему не приходит письмо о совершении заказа с Virtuemart3?

    @Gedonist
    тот же вопрос, на двух сайтах,
    Joomla! 3.9.15
    VirtueMart 3.6.10
  • Какой shared-хостинг поддерживает автоматическое подключение собственных сертификатов SSL?

    @Gedonist Автор вопроса
    ну да, в hostland есть, стоит 19 рублей за 1 сайт в месяц
  • Какой shared-хостинг поддерживает автоматическое подключение собственных сертификатов SSL?

    @Gedonist Автор вопроса
    s0xzwasd, видимо, вы не правильно поняли вопрос.
    Как миниму два хостинга ответили, что такой возможности у них нет. Или ru-center непопулярный хостинг?
    Сейчас скинул вопрос в sweb, поглядим
  • Существуют ли сервисы/скрипты для регулярного тестирования работоспособности форм на сайте?

    @Gedonist Автор вопроса
    цели на конверсионные действия настроены. Формы обратной связи не всегда являются конверсионными действиями, иногда скорее наоборот =)
    А за нерабочую форму заказа у меня недавно была критическая ошибка в яндекс.маркете - так не досидишься до формирования отчёта.
    Но в целом за подсказку спасибо и за фрукты респект =)
  • Как побороть циклический редирект на главной, при включении ЧПУ?

    @Gedonist Автор вопроса
    azerphoenix, я менял htaccess, ставил от другого сайта, результат тот же.
    И пробовал заходить с разных браузеров, результат тот же