<MyRusakov.ru />

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Видеокурс "Фреймворк Yii 2.0 с нуля. Пример создания сайта" обучит Вас созданию профессиональных сайтов с использованием фреймворка Yii. В курсе есть 2 раздела: теоретический и практический. В теоретическом разделе будут разобраны возможности фреймворка Yii с примерами их использования, а в практической части будет создан сайт Blog.MyRusakov.ru с помощью полученных знаний из теоретического раздела.

Так же почти ко всем урокам идут упражнения для закрепления материала из урока на практике.

После прохождения курса Вы без труда сможете создавать любые сайты с использованием фреймворка Yii, причём делать это будете быстро и качественно.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Как удалить/добавить слэш в конце URL через .htaccess

Как удалить/добавить слэш в конце URL через .htaccess

Наверняка, многие из Вас понимают, что в большинстве случаев "http://mysite.ru/dir" и "http://mysite.ru/dir/" откроют одно и то же. Но это лишь в большинстве случаев, а не всегда. Если идёт обработка REQUEST_URI через PHP, то там может иметь огромное значение наличие или отсутствия слэша в конце URL. И очень важно привести весь сайт к единому стандарту, чтобы было либо со слэшем на конце, либо без. Вот как удалить слэш на конце URL через .htaccess, а также как его добавить, я расскажу в этой статье.

Я приведу 2 кода, один всегда удаляет слэш на конце URL, а другой всегда добавляет. Начнём с 1-го варианта:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} (.*)
RewriteCond %{REQUEST_URI} /$ [NC]
RewriteRule ^(.*)(/)$ $1 [L,R=301]

Теперь если пользователь введёт "http://mysite.ru/dir/" его автоматически перенаправит на "http://mysite.ru/dir". Разумеется, все GET-параметры сохранятся. Например, если пользователь вводил: "http://mysite.ru/dir/?a=5&b=7", то его перенаправит по такому адресу "http://mysite.ru/dir?a=5&b=7".

А сейчас давайте рассмотрим вариант, когда нам обязательно нужен слэш в конце URL, то есть чтобы при вводе "http://mysite.ru/dir" был автоматический переход на "http://mysite.ru/dir/":

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

С этим кодом в .htaccess слэш будет добавляться автоматически в конце URL.

Теперь Вы знаете, как удалять и добавлять слэш в конце URL через .htaccess. И Вам нужно лишь определиться, какой вариант Вам больше нравится, потому что никакой принципиальной разницы между ними нет.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (11):

malevany malevany 22.12.2012 15:18:02

Скажите, а можно через ".htaccess" удалить расширения файлов, к примеру было mysite.php а стало просто mysite?

Ответить

Admin Admin 22.12.2012 18:13:14

RewriteRule ^(([^/]+/)*[^.]+)$ /$1.php [L]

Ответить

malevany malevany 24.12.2012 00:14:51

Огромное спасибо!

Ответить

malina95 malina95 17.01.2013 21:24:02

Здравствуйте, а как убрать расширение файла и добавить слеш в конце? Делаю так RewriteEngine on RewriteBase / RewriteCond %{HTTP_HOST} ^www.malinichev.ru$ [NC] RewriteRule ^(.*)$ http://malinichev.ru/$1 [R=301,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !(.*)/$ RewriteRule ^(.*[^/])$ $1/ [L,R=301] RewriteRule ^(([^/]+/)*[^.]+)$ /$1.php [L] но получается malinichev.ru/pass/.php/ как сделать нормально? Скажите пожалуйста

Ответить

praktik_man praktik_man 22.01.2014 19:24:56

Добрый день. Была такая проблема, слеш на конце ссылок. Все сделал как вы написали..все работает. Но перестало заходить в админку. Joomla. там видимо на конце тоже слеш. Как быть в таком случае?

Ответить

tikkiwiki tikkiwiki 23.01.2014 11:48:39

Как быть в таком случае? Не использовать CMS.

Ответить

komuk komuk 20.05.2015 00:42:40

"На этой странице обнаружена циклическая переадресация" круто работает - не работает!

Ответить

fircus fircus 12.10.2015 13:10:59

Скажите, а как мне добавить слеш в конце для opencart, данный код не работает

Ответить

webmir webmir 18.10.2015 13:15:26

Здравствуйте. Подскажите пожалуйста в следующей ситуации: Есть вёрстка html5+CSS Первоначально была задача, избавиться через .htaccess от расширения php на конце URL Для этого прописал в .htaccess следующее: RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}.php -f RewriteRule ^.*$ $0.php [L,QSA] RewriteCond %{THE_REQUEST} ([^\s]*)\.php(\?[^\s]*)? RewriteRule (.*) %1 [R=301,L] Всё заработало отлично! Но, при постепенном наполнении сайта контентом возникла следующая ситуация: Есть страница http://мойсайт/razdel1 Получить для дочерней страницы родителем которой является razdel1 новый URL допустим http://мойсайт/razdel1/katalog Для этого в корневой директории сайта создаю разумеется директорию razdel1 в неё копирую индексный файл, и меняю основной контент, после чего переименовываю файл под таким именем katalog.php На выходе я получаю мою новую страницу http://мойсайт/razdel1/katalog и всё отлично на конце нет слэша изначально это добивалось. Но пеерстала работать старница под этим URL http://мойсайт/razdel1 Точнее открывается содержимо директории razdel1 а мне нужно чтобы открывался по прежнему файл из осноной директории razdel1.php Посоветуйте что можно сделать чтобы открывались обе страницы по желаемым мне URL адресам Пробовал вариант когда в директории razdel1 создаю индексный файл и он открывает всё верно, и вторая новая страница работает, но открытие этой страницы http://мойсайт/razdel1 содержит на конце слэш а он по всему сайту не нужен… как в таком случае от него можно избавиться, и при этом переадресация с .php на без слэша тоже сохранилась?

Ответить

KuleshoffSERVic KuleshoffSERVic 27.11.2015 09:47:46

Здравствуйте! Подскажите, пожалуйста, как сделать исключения для страниц с Get параметрами: т.е., везде на сайте со слешем в конце url, а на страницах с Get параметрами — без. Например: www.site.ru/catalog/ и www.site.ru/login (уже без слеша), чтобы можно было добавлять страницы в такие исключения. Спасибо!

Ответить

tuktcbfc tuktcbfc 19.03.2016 12:51:55

Добрый день. Подскажите, что может быть не так - использовал ваши рекомендации по удалению слеша. Результат такой: www.site.ru/catalog, а вот для главной такой - www.site.ru/ Не убирается слеш индексной страницы.

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.