• Убрать слэш / в конце URL

    Majak
    @Majak
    Вдруг кому-то и сгодится.
    У меня, для своих нужд, получилось следующим образом:

    DirectorySlash Off

    RewriteEngine on
    RewriteBase /

    RewriteCond %{REQUEST_FILENAME} -d
    RewriteCond %{REQUEST_URI} ^(.+)/$
    RewriteRule ^(.*)/$ $1 [L,R=301]

    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^(.*)$ $1/index.php [L]

    Это для директорий, которые ни как не хотели слушаться.

    Для просто url-ов, можно добавить, ещё одну строчку:

    RewriteRule ^(.*)/$ $1 [L,R=301]
    Ответ написан
    1 комментарий
  • Что выбрать: ставить или не ставить слэш на конце URL?

    По-моему, надо исходить из семантики: если страница example.com/path/to/page является обычной контентной страницей, грубо говоря, файлом без расширения в терминах ФС, то слэш ставить не нужно; если является «агрегирующей функцией» своих элементов (список, например), особенно если к ним можно обращаться как к example.com/path/to/page/element — слэш нужен.
    Ответ написан
    1 комментарий
  • Что выбрать: ставить или не ставить слэш на конце URL?

    @pazitiffcheg
    Для тех, кто утверждает, что слеш в конце url нужно ставить и что веб-сервер очень напрягается, если слеш не поставить, прошу выложить кусок кода из apache или nginx отвечающий за реализацию данного алгоритма - это же opensource проекты, всё в свободном доступе.
    Поисковикам же совершенно всё равно, по какому адресу обрабатывать страничку, главное чтоб небыло задвоения, поэтому в правилах веб-сервера делаем 301 редирект на какой либо из вариантов.
    Поисковики не панацея интернета, и как заметил уважаемый IlVin IlVin
    "В www.ietf.org/rfc/rfc1738.txt этот вопрос не регламентирован."
    Поисковики пишут универсальные алгоритмы для того чтобы их поиск был качественен, но они не распоряжаются, как должен работать тот или иной веб сервер. Есть запрос по url и есть ответ - всё просто.
    Сам я терпеть не могу, когда попадается сайт со слешами на конце особенно г..сайтах. Сайту и так плохо, так еще какой то не компетентный СЕОшник еще больше его запорол.....

    Люди, не перебарщивайте и не втирайте про слеш на конце, он там вообще не нужен, т.к. в url нет понятия "Директория" - это не файловая система. URL - это адрес, состоящий из символов, слеш определяет структуру адреса, только и всего.
    Ответ написан
    Комментировать
  • Что выбрать: ставить или не ставить слэш на конце URL?

    @IlVin
    В www.ietf.org/rfc/rfc1738.txt этот вопрос не регламентирован.

    ; HTTP
    httpurl = «http://» hostport [ "/" hpath [ "?" search ]]
    hpath = hsegment *[ "/" hsegment ]
    hsegment = *[ uchar | ";" | ":" | "@" | "&" | "=" ]
    search = *[ uchar | ";" | ":" | "@" | "&" | "=" ]

    Хотите ставьте '/' в конце, а хотите не ставьте — главное, чтобы ваш сервер этот URL понимал.

    Проблемы подстерегают с другой стороны — обычно браузер получает HTML документы, в которых могут быть картинки, с относительными URI, для которых браузер вычисляет абсолютный URL и получается веселуха: /path/to/page.html/image.gif и т.п.

    Так что совет — для папок в конце пишите '/', а для файлов не пишите. И тогда браузер правильно вычислит адреса для подключаемых ресурсов.
    Ответ написан
    1 комментарий
  • Каким образом вывести (интерполировать) данные из переменных в title?

    Aetae
    @Aetae Куратор тега Vue.js
    Тлен
    Ну например глобальный миксин приблизительно такого вида:
    {
      beforeCreate() {
        this._oldTitle = document.title;
      },  
      unmounted() {
        if (this.PAGE_TITLE)
          document.title = this._oldTitle;
      },
      watch: {
        PAGE_TITLE: {
          handler(val, oldVal) {
            if (val)
              document.title = val;
            else
              document.title = this._oldTitle;
          },
          immediate: true
        },
      }
    }

    И в компоненте управляешь просто свойством this.PAGE_TITLE.
    Или в случае composition api:
    const PAGE_TITLE = ref('<title>'); // computed(() => ...)
    // ...
    return { 
      PAGE_TITLE,
      // ...
    }

    и в случае script setup/render:
    + expose({ PAGE_TITLE })

    Особенность в том, что управление title тут заберёт последний загруженный компонент имеющий PAGE_TITLE, что может привести к багам если на одной странице таких окажется два.

    У меня есть где-то самописка которая делает подобное но с учётом роутера и иерархии, и это уже, увы не так просто.:)

    P.S. Вообще на таком примитивном уровне можно просто использовать document.title напрямую и не париться. Подход с миксином имеет смысл если этот title вы используете ещё где-то в приложении глобально.
    Ответ написан
    3 комментария
  • Стоит ли изучать Vue 2?

    @kandrash
    Кратко о себе
    Если вы _хорошо_ знаете VUE2 - переход на 3 у вас полчаса займёт.

    Просто в реальных проектах 3 очень медленно внедряется. Ок, год назад она вышла. И что по факту? Vuetify - альфа.10 Учитывая как они относятся к срокам - в лучшем случае в 2022 релиз увидим. Nuxt - та же ситуация. Выкатили пакет для поддержки VUE 3, но полноценного Nuxt 3 даже в планах нет.

    Так что учите 2, точно ничего не потеряете.
    Ответ написан
    Комментировать
  • Как сверстать такой курсор?

    @Lord_Dantes
    Если загуглить как сделать горизонтальный курсор - можно найти примеры и гайды. А далее путем обычных стилей можно его тоже стилизовать загуглив "scroll css".
    Ответ написан
    Комментировать
  • Есть ли веб-интерфейс MongoDB?

    pashted
    @pashted
    тыжпрограммист
    На сайте монги есть официальное приложение для этих целей https://www.mongodb.com/products/compass
    Пользуюсь больше года. Это не швейцарский нож на любой случай жизни, но ежедневные задачи все охватывает. Инструмент постепенно дорабатывается.
    Ответ написан
    2 комментария
  • Как использовать значение переменной/массива для отправки на почту из-под шаблонизатора Smarty?

    micro-CMS
    @micro-CMS
    автор книги по продажам, создатель собственной CMS
    Решили вопрос? Может подскажите как переменную смарти передать внутрь {php}..{/php} чтобы использовать её, а из него опять передать в Смарти?
    Ответ написан
    3 комментария
  • Как наполнить интернет-магазин без CMS товарами в автоматическом режиме?

    @egecorp
    FullStack
    Если есть доступ к базе данных, можно попробовать сформировать запросы для вставки значений.
    Допустим, что в колонке A - наименование товара, в колонке B - цена, тогда с помощью формулы
    =СЦЕПИТЬ ("('",A1,"', ", B, "),")
    в колонке C (в примере ниже для ячейки С1) можно получить набор данных типа
    ('Рога', 1000),
     ('Копыта', 1000),


    Ну и дальше в текстовом редакторе привести всё это в запросу типа
    INSERT INTO Goods (GoodName, Price) VALUES
     ('Рога', 1000),
     ('Копыта', 1000)
    Ответ написан
    Комментировать
  • Как уменьшить все блоки сразу?

    wapster92
    @wapster92 Куратор тега CSS
    Задать им одинаковый класс и прописать ему нужные css свойства.
    Ответ написан
    1 комментарий
  • Как сделать переход на другой блок на другой странице?

    DanArst
    @DanArst Куратор тега HTML
    Гриффиндор в моде при любой погоде!
    Слэш лишний
    <a  class="wh" href="lessons.html#him">2) Хімія</a>
    Ответ написан
    1 комментарий
  • Какой вариант наименования компонентов более корректный?

    Kozack
    @Kozack Куратор тега Vue.js
    Thinking about a11y
    Главное что бы было в одном стиле. А уж в каком -- это уже как лично вам или внутри вашей команды удобнее.
    Ответ написан
    Комментировать
  • Как найти источник звука на странице?

    @Lynatik001
    заходишь на страницу, жмешь правую кнопку мыши, просмотреть код. и удаляешь блоки по очереди кнопкой DELETE на клавиатуре. пока музыка не перестает играть
    Ответ написан
    3 комментария
  • На ваш взгляд, есть ли смысл программисту делать интернет магазин самому?

    saboteur_kiev
    @saboteur_kiev Куратор тега Веб-разработка
    software engineer
    На мой взгляд, основные требования будут выглядеть как-то так:
    Сразу предусмотреть, что сайт будет иметь высокую посещаемость и нагрузку

    Откуда данные, что сайт будет иметь высокую нагрузку и высокую посещаемость?
    Это явно преждевременная оптимизация

    Чтобы без лишних проблем можно было найти программиста для поддержки и разработки магазина

    Для высоконагруженного сайта с высокой посещаемостью, ОСОБЕННО магазина, по идее должна быть нормальная прибыль, и следовательно легко находятся деньги чтобы найти программиста для поддержки и разработки без лишних проблем.

    Гибкость. Простота внедрения новых фич на бэке и изменение внешнего вида сайта на фронте без необходимости городить "костыли" из-за недостатков платформы

    Чем выше посещения сайта, тем больше денег, тем проще разобраться с тем кто и как напишет магазин.

    Я бы посоветовал просто прикрутить стандартный магазин к вордпрессу и начать продажи. А уже потом решать насколько у вас проседает по нагрузке сайт. Потому что очень много программистов пытаются делать бизнес постановкой технических задач, которые ну никак не влияют на бизнес.
    Ответ написан
    Комментировать
  • На ваш взгляд, есть ли смысл программисту делать интернет магазин самому?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Расширяемый и легко поддерживаемый проект (и тот же интернет-магазин) начинается с проектирования системы интерфейсного "каркаса" для простой стыковки отдельных модульных блоков в зависимости от текущего бизнес-процесса (work-flow).

    "Каркас" обязательно должен обеспечивать параллельную обработку в соответствии со схемой движения данных в определённые моменты времени в целях повышения скорости ответа на внешние пользовательские запросы.

    Тогда каждый такой модульный блок (или сразу несколько) может разрабатываться отдельно, параллельно и/или разными людьми.
    Ответ написан
    Комментировать
  • На какое количество компонентов разбивать приложение на vue?

    Kozack
    @Kozack Куратор тега Vue.js
    Thinking about a11y
    • Если какой-то элемент нужно использовать больше одного раза — делайте отдельным компонентом
    • Если ваш родительский компонент очень большой — разбейте его на несколько компонентов поменьше, чисто для удобства
    • Если вы предполагаете, что какая-то часть вашей программы будет часто изменяться — выносите в отдельный модуль.
    • Если у вам большой кусок статического контента — выносите в отдельный компонент
    • Если какой-то элемент имеет в себе очень сложную или затратную по времени логику — выносите в отдельный компонент.


    Вообще, я стараюсь делать много мелких компонентов. Мне так тупо удобнее. Но главное без фанатизма. Вам не нужен отдельный компонент на каждый инпут, разве что у этого инпута должна быть какая-то инкапсулированная логика или оформление.
    Ответ написан
    Комментировать
  • Зачем папка assets в laravel?

    idelg
    @idelg
    Разработчик
    В папке /assets, как правило лежат нескомпилированные стили и скрипты. Coffescript, sass, less...вот это все. И по идее нужно настроить Elixir (надстройка над гульпом), чтобы он отправлял в /public уже сконкатенированные и минифицированные файлы.

    Такие дела, надеюсь, прояснил.
    Ответ написан
    Комментировать
  • Как дальше развиваться в верстке?

    @historydev Куратор тега JavaScript
    Острая аллергия на анимешников
    Кодить и видится с друзьями это антонимы. Ты либо уходишь в него с головой, либо остаёшься среди прогулок и бесполезной траты времени. После пути 2 ты врядли сможешь вернуться к старому окружению.
    Ответ написан
    8 комментариев