Если у вас индексируются внутренние адреса страниц и со слешем и без него (‘/’) в конце, т.е. например:

www.site.ru/catalog/
и
www.site.ru/catalog

 

то поможет исправить ситуацию следующий код для .htaccess:

 

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\..{1,10}$
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://www.site.ru/$1/ [L,R=301]

 

Вариант выше может и не заработать. Поэтому можно попробовать использовать другой вариант:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\..+$
RewriteCond %{REQUEST_URI} !/$
RewriteRule (.*) http://www.site.ru/$1/ [R=301,L]

 

Еще варианты:

#убираем слэш в конце

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

 

#добавляем слэш в конце

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

 

В CMS Modx Revolution для борьбы с множественным слешем можно создать плагин с таким содержимым:

 

<?php switch ($modx->event->name)
{
case 'OnWebPageInit':
        if (stristr($_SERVER['REQUEST_URI'], '//'))
        {
                $g = preg_replace("|[//\s]+|is", "/", $_SERVER['REQUEST_URI']);
                $modx->sendRedirect($g);
        }
        break;
}

И отметить в системных событиях – OnWebPageInit

 

 

Чтобы сделать редирект с адреса index.php на корень сайта, достаточно в файле .htaccess добавить строки:

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

Если вы нуждаетесь в дополнительной производительности, и все равно хотите использовать jQuery, то можете попробовать провести оптимизацию селекторов. Тест с использованием time и timeEnd методов консоли браузера в тексте данной статьи.

 

Подробнее

(Обновлено 26.06.2018)

Данный скрипт идеально подойдет для форм при создании сайтов-визиток, каталогов, лендингов, где нужно отправить простую форму с прикрепленным файлом.

В скрипте используется проверка заполненности обязательных полей с помощью скрипта jquery.validation с последующей отправкой сообщения на e-mail администратора без перезагрузки страницы с помощью технологии ajax.

Демо-страницу можно посмотреть – тут.

Подробнее

Вертикальный слайдер totemticker демонстрацию которого можно посмотреть на этой странице, к сожалению, не умеет работать cо скролом мыши. В попытках найти что-либо в интернете по этому поводу не привело к успеху. Частично была попытка исправить этот недочет – источник на гитхабе. Но этим так и не получилось добиться внятной работы в Мозиле.

 

totem

Подробнее

В последнее время становится очень популярным использование социальных сетей и их возможностей применительно к сайтам – вывод последних событий, новостей, комментариев, опросов и пр. В данной статье будет рассмотрено 2 способа вывода последних опубликованных сообщений из Твиттера на сайт – с помощью Javascript и с помощью PHP.

 

Вывод последнего твита с помощью Javascript

Добавление виджета

Для того, чтобы добавить ленту твиттера на сайт необходимо вставить код виджета. Для этого на странице “Виджеты” https://twitter.com/settings/widgets вашего твиттер-аккаунта надо создать новый виджет. Тут же можно выполнить и первоначальную настройку (установить параметры отображения твиттов, указать высоту, выбрать тему и пр.) и скопировать код виджета.

 

Код состоит из двух элементов: анкор с атрибутами (настройками виджета) и javascript-кода, который подгружает библиотеку твиттера.

 

Подробнее

С приходом HTML5 формы сталее более универсальными. Элемент input теперь может содержать электронные адреса, даты и много другое, их можно отмечать как обязательные не прибегая к javascript – и это всего лишь некоторые из наиболее ценных возможностей. Также теперь для одной формы можно задействовать несколько submit кнопок, а также теперь есть возможность вынести кнопку submit за пределы формы.

 

Подробнее

Контент при верстке всегда помещается в элементы-контейнеры, и затем они стилизуются. В некоторых случаях необходимо определить размеры контейнера для контента, не задавая принудительно ему значение. Существует свойство min-content – это одно из встроенных свойств CSS, которые верстальщики используют для создания content-first дизайна. В этой статье рассмотрим CSS свойство max-content, позволяющее задавать неразрывные области.

 

Использование свойства max-content для обертки групп изображений

К примеру, у нас есть набор изображений:

 

Подробнее