<MyRusakov.ru />

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

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

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

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

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

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

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

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

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

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

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

Как убрать index.php из URL

Как убрать index.php из URL

Для устранения дублирования с index.php (когда http://ваш_сайт и http://ваш_сайт/index.php ведут на одну страницу) надо удалить один из вариантов. Как правило, надо удалить index.php из URL, то есть чтобы при обращении к http://ваш_сайт/index.php шёл автоматический редирект на http://ваш_сайт. Давайте с Вами это сделаем.

Один из вариантов удаления index.php из адреса - это использовать PHP, но не будем его использовать, так как если у Вас есть Apache (а обычно он и имеется), то лучше использовать mod_rewrite.

Для удаления index.php из URL надо в htaccess написать следующий код:

RewriteEngine On
RewriteRule ^index.php$ / [QSA,R]

После этого, например, такая ссылка http://ваш_сайт/index.php превратится в http://ваш_сайт/, а http://ваш_сайт/index.php?id=5 превратится в http://ваш_сайт/?id=5.

Что касается создания htaccess, то об этом писалось в этой статье: создание htaccess.

Вот так легко можно убрать index.php из URL с помощью htaccess, тем самым, уничтожив дублирование страниц, которое так не любят поисковые системы.

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

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

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

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

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

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

  1. Кнопка:

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

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

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

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

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

wanderer wanderer 24.04.2013 17:57:40

зачем удалять комментарии?

Ответить

Admin Admin 24.04.2013 21:21:38

Потому что комментарий "ау" не несёт смысловой нагрузки, и иначе как спамом его не назовёшь. А что касается того вопроса, то он был удалён за этот спам. Такие комментарии допускаются, если спустя сутки я не ответил на вопрос, а через 1 час я не могу отвечать на каждый комментарий, поэтому спамить и засорять сайт не нужно. Если у меня получается ответить в течение 1-го часа - хорошо, но так не всегда, поэтому не надо это требовать и пытаться меня "наказать" флудом.

Ответить

wanderer wanderer 24.04.2013 21:25:08

Никто не пытался наказать, был сильный интерес. Прошу прощения. Так вы ответите?

Ответить

Admin Admin 24.04.2013 21:48:17

А зачем удалять ? из URL, тогда страницы просто открываться не будут. Поскольку файла id=5 не существует. А если нужно избавиться от вопроса, то достаточно убрать ссылки, чтобы пользователи по ним не переходили, а заменить их на другие, без ?. Всё это ЧПУ называется: http://myrusakov.ru/php-furl.html

Ответить

wanderer wanderer 24.04.2013 22:18:43

Я хочу чтобы было так: /id3242

Ответить

Admin Admin 25.04.2013 11:07:39

Вот и делайте такие ссылки, а затем по той статье обрабатывайте их и выводите соответствующие страницы.

Ответить

masik-new masik-new 25.04.2013 13:31:54

Спасибо за понятную и доступную статью! Все прекрасно заработало! Дополнительный вопрос. Для удаления www прописаны строки RewriteEngine On RewriteCond %{HTTP_HOST} ^www.jobshome$ [NC] RewriteRule ^(.*)$ http://jobshome/$1 [R=301,L] Но почему-то теперь не работает. Как быть?

Ответить

Admin Admin 25.04.2013 18:42:52

http://myrusakov.ru/sajt-www-bez.html - вот здесь точно рабочий код.

Ответить

GoTo GoTo 03.05.2013 22:29:49

Михаил, а если уже есть такой код: RewriteEngine On RewriteCond %{HTTP_HOST} ^www.kipros.ru$ [NC] RewriteRule ^(.*)$ http://kipros.ru/$1 [R=301,L] ErrorDocument 404 /404.html AddDefaultCharset UTF-8 то как правильно добавить RewriteRule?

Ответить

Admin Admin 04.05.2013 11:30:59

Просто в конец добавить: RewriteRule ^index.php$ / [QSA,R]

Ответить

web-magician web-magician 28.10.2016 07:03:02

У меня не получилось! Не знаю что такое Apache и где его искать. Если выставляю ЧПУ сайт вылетает в ошибку! Если файл htaccess сделаю таковым .htaccess сайт вылетает в ошибку, поэтому он у меня такой htaccess.txt как быть в таком случае? Главное на одном хостинге у меня 2 форума в одном после установки галочки ЧПУ index.php перестал показываться, а на этом форуме ничего не помогает, может кто подскажет в чем проблема?

Ответить

morozov-semen morozov-semen 11.05.2013 17:59:51

Есть ещё один метод: RewriteEngine On RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/ RewriteRule ^index\.php$ http://mysite.com/ [R=301,L]

Ответить

razor2211 razor2211 08.07.2013 16:04:35

Михаил, а как сделать противоположную задачу, чтобы подставлялось index.php

Ответить

worker71 worker71 26.09.2013 12:50:06

Добавил данный код. В денвере со всех страниц где есть index.php теперь перекидыват на http://localhost/denwer/ Вопрос а данный способ потходит для такой ситуации http://site/forum/index.php должно остаться http://site/forum/ я правильно понял? а остаеться http://localhost/denwer/ Ура, заработало! ))

Ответить

gamevitrix gamevitrix 06.10.2013 15:24:52

Все работает, спасибо Михаилу

Ответить

forest67 forest67 19.11.2013 00:26:54

RewriteRule ^index.php$ / [QSA,R] У меня почему-то этот код редиректит абсолютно все страницы на главную. Может еще надо было что-то сделать?

Ответить

tikkiwiki tikkiwiki 19.11.2013 11:19:09

Здравствуйте autoevo. Попробуйте так: RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php [L,QSA]

Ответить

forest67 forest67 20.11.2013 23:44:04

Здравствуйте Александр. К сожалению в таком варианте выдает ошибку 500. У вас есть еще какие ни будь мысли по этому поводу? Был бы очень признателен.

Ответить

tikkiwiki tikkiwiki 21.11.2013 10:54:52

Здравствуйте autoevo. Неверный синтаксис файла .htaccess или наличие в нем не поддерживаемых директив приводит к данной ошибке (500). Удалите старое и попробуйте так: RewriteRule ^index.php\/$ "http\:\/\/test\.com\/" [R=301,L] Только замените на имя адрес Вашего сайта, вместо test.com Второй вариант(более практичный): RewriteCond %{THE_REQUEST} ^GET\ .*/index\.php\ HTTP RewriteRule ^(.*)index\.php$ /$1 [R=301,L] Третий вариант: RewriteEngine on Options +FollowSymLinks RewriteBase / RewriteCond %{THE_REQUEST} ^[A-Z]{3,20}\ /index\.php(.*)\ HTTP/ RewriteRule ^index\.php$ http://имя-вашего-домена/$1 [R=301,L]

Ответить

tikkiwiki tikkiwiki 21.11.2013 11:28:35

Второй вариант: RewriteCond %{THE_REQUEST} ^GET\ .*/index\.php\ HTTP RewriteRule ^(.*)index\.php$ /$1 [R=301,L]

Ответить

tikkiwiki tikkiwiki 21.11.2013 11:34:14

Третий вариант: RewriteEngine on - Внимательно обратите внимание, чтобы был ON. Options +FollowSymLinks - тоже обязательно, для магии:) RewriteBase / -устанавливает базовый URL для преобразований в контексте каталога Сам редирект: RewriteCond %{THE_REQUEST} ^[A-Z]{3,20}\ /index\.php(.*)\ HTTP/ RewriteRule ^index\.php$ http://имя-вашего-домена/$1 [R=301,L]

Ответить

tikkiwiki tikkiwiki 22.11.2013 12:24:23

Доброе утро, autoevo. Ваше сообщение я увидел и вынужден его удалить, т.к оно слишком большое и не несет смысловой нагрузки, больше оно не понадобиться. Я идентифицировал, что Вы используйте CMS Joomla. Первый вариант решения: Включите "Использовать mod_rewrite" в основных настройках.(Перенаправление URL). Но для начала зайдите в htaccess.txt, переименовываем в .htaccess , потом открываем и перед строчкой Options +FollowSymLinks ставим символ #. Если вы все правильно сделаете то у Вас все замечательно будет работать, если же не закоментировать нужную строчку в файле .htaccess то на сайте будет отображаться ошибка 500. Второй вариант решения: Чтобы облегчить Вам решение данной проблемы, предлагаю скачать специальный плагин com_joomsef, найти его и скачать не сложно. Внимательно! Обратите внимание на версию CMS Joomla которую Вы используйте и скачайте для соответствующей версии данный плагин.

Ответить

forest67 forest67 23.11.2013 03:33:03

Здравствуйте. .htaccess на момент переписки уже был, mod_rewrite включен, SEF включен, плагин sef.php имеется. Как вы рекомендовали, закоменнтировал Options +FollowSymLinks, но похоже изменений нет. Если вписать в урл index.php, то страница отображается и с таким урлом. Что то мне грустно от этой всей истории становится, дубли - это еще не все проблемы...

Ответить

alexandrdante alexandrdante 23.11.2013 04:04:08

Значит Вы что-то делаете не так. Утром прочту и посмотрю,что Вам ответить. Технология верна. используйте другие плагины.что мешает?например sh404sef

Ответить

forest67 forest67 24.11.2013 00:26:00

Приехали... Установил sh404sef, перестали отображаться некоторые категории (404). Появились дубли, например - http://www.autoevo.net/advice продублирован http://www.autoevo.net/index.php/Table/Полезные советы/ но с ошибкой 404. Отключил, очистил кэш - все так и осталось.

Ответить

alexandrdante alexandrdante 24.11.2013 00:36:33

Уважаемый,данный вопрос уже не ко мне. Я лишь посоветовал один из плагинов,который использую,если уж у Вас не работают обычные способы. Стоило,видимо,изначально прочесть инструкцию по установке и работе с данным плагином,а не наобум его ставить... Вы ведь даже не удосужились посмотреть быстрые настройки,а также то,что у плагина есть свой ссылочный кеш и его надо очищать,после переходить на индексную страницу,а дальше плагин уж сам. Перед этим стоит сделать нормальные настройки htaccess а в плагине выбрать mod_rewrite Я не заставлял и не принуждал Вас ставить данный плагин

Ответить

forest67 forest67 24.11.2013 12:54:00

Здравствуйте. Я ни в коей мере не хотел вас упрекнуть. По всей видимости скачанный плагин оказался глючный. Но идея понравилась, будем искать.

Ответить

alexandrdante alexandrdante 25.11.2013 14:50:32

Если не найдёте,то пишите. Будем решать как-то. Но тогда придётся показать сайт и рассказать,как конкретно ставили плагин

Ответить

forest67 forest67 26.11.2013 01:16:41

Здравствуйте. Скачал и установил рабочий плагин через админку. В этот раз поступил благоразумнее - поставил на копию сайта на поддомене. Надо еще разбираться, так как плагин сразу же начинает переписывать по-своему ссылки. По поводу показать сайт, я бы вообще был бы рад если бы кто то позанимался с ним. После обновления движка там куча проблем. Могли бы вы мне в этом помочь?

Ответить

tikkiwiki tikkiwiki 26.11.2013 09:58:00

Здравствуйте autoevo. Используйте документацию, чтобы правильно настроить sh404sef. Если надо, сами поправьте ссылки и желательно скачайте чистый .htaccess для Joomla, заменив на тот, что действителен сейчас.

Ответить

forest67 forest67 28.11.2013 00:41:08

Здравствуйте Александр. Именно так и попробую сделать. Отпишусь о результатах.

Ответить

Yurez Yurez 25.01.2014 20:47:03

Здравствуйте. А скажите, с "правильной" индексацией страниц от этого проблем не будет? Я таким способом убрал "category.php". Но когда наводишь на ссылку, она внизу показывается С "category.php", а открывается уже БЕЗ... Так же как и "index.php" показывается с ним, а открывается уже без...

Ответить

alexandrdante alexandrdante 25.01.2014 20:57:28

нет,не будет. Поисковые системы понятливы)

Ответить

Yurez Yurez 25.01.2014 20:58:58

Ну, будем надеяьтся. Спасибо )

Ответить

Kopyraiter Kopyraiter 23.09.2014 19:28:42

Приветствую. А как убрать данную приставку на субдомене для DLE?

Ответить

alepron alepron 28.03.2015 16:35:15

А как быть, если в index.php есть POST-форма, которая в экшене использует этот же index.php? Использую пример .htaccess из данной статьи, и у меня при обработке формы каждый раз вывод, как при вызове index.php без параметров.

Ответить

serega-syper serega-syper 11.01.2016 23:03:35

У меня немного другая проблема. при подтверждения ссылки через почту меняется адрес ссылки http://www.сайт.ru/users/email_confirmation/?user_id=369&key=be0cc38f02eb6c52b9cb8faeb1e8d728 на https://www.сайт.ru/index.php?user_id=369&key=be0cc38f02eb6c52b9cb8faeb1e8d728 делал как вы советовали, index убрался, но users/email_confirmation/? куда то пропадает, как можно исправить? стоит редикер с http на https

Ответить

gavrilov_n@inbox.ru gavrilov_n@inbox.ru 13.12.2016 15:06:48

А будет считаться дублированием контента для поисковых систем если к файлу можно обратиться с php и без? Если да, то как этого избежать? Заранее благодарен за ответ.

Ответить

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