Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: php и CI
 
 автор: TavRoX   (17.02.2012 в 18:10)   письмо автору
 
 

ребят у меня такой вопрос. начал изучать фреймоврк CI
и как бы уже дошел до урл и прочего
вопрос
у меня сайт сейчас имее тстранички к которым обращаешся с расширением .пхп
если я буду делат ьсайт с помощью фреймоврка то адреса можно будет оставить прежними? дабы избежать полной потери проиндексированых страниц и т.д.

  Ответить  
 
 автор: TavRoX   (17.02.2012 в 18:49)   письмо автору
 
   для: TavRoX   (17.02.2012 в 18:10)
 

к примеру в codeigniter урлы в таком виде домен/view_post/45
на моем же сайте сейчас ссылки в таком виде домен/view_post.php?id=45

как избежать потери проиндексированых страниц? перенести как т оили еще чтото?

  Ответить  
 
 автор: Sfinks   (19.02.2012 в 10:24)   письмо автору
 
   для: TavRoX   (17.02.2012 в 18:49)
 

Нужно будет в .htaccess создать правила для внешнего редиректа старых ссылок, которые есть в поисковом индексе, на новые адреса с кодом 301. Тогда и юзер зайдя на старую ссылку будет перенаправлен на новую, и поисковик при повторном посещении старой страницы увидит заголовок 301 (Moved Permanently) и исправит в индексе адрес на новый. Когда в индексе не останется старых адресов все лишние правила можно будет удалить.

У меня сайт не имеет отношения к этому фреймвоку, но в один момент я перевел его с обычных адресов на ЧПУ. Правила выглядели примерно так:
RewriteCond %{QUERY_STRING} ^p=(\d+)(&sid=[a-zA-Z\d]{1,32})?$
RewriteRule ^$              /web/1/?                                                    [R=301,L]
RewriteCond %{QUERY_STRING} ^c=(\d+)&p=(\d+)(&sid=[a-zA-Z\d]{1,32})?$
RewriteRule ^$              /web/1/%1(%2)/?                                             [R=301,L]
RewriteCond %{QUERY_STRING} ^c=(\d+)(&sid=[a-zA-Z\d]{1,32})?$
RewriteRule ^$              /web/1/%1(1)/?                                              [R=301,L]
RewriteCond %{QUERY_STRING} ^g=(\d+)&c=(\d+)&p=(\d+)(&sid=[a-zA-Z\d]{1,32})?$
RewriteRule ^$              /web/1/%2(%3)/%1/?                                          [R=301,L]
RewriteCond %{QUERY_STRING} ^g=(\d+)&c=(\d+)(&sid=[a-zA-Z\d]{1,32})?$
RewriteRule ^$              /web/1/%2(1)/%1/?                                           [R=301,L]

  Ответить  
 
 автор: TavRoX   (27.02.2012 в 21:07)   письмо автору
 
   для: Sfinks   (19.02.2012 в 10:24)
 

немног опоразмыслив ссылки буду делат ьввиде тайтла на латинице а не по индексу новости
както можно сделат ьредирект такой?

  Ответить  
 
 автор: Sfinks   (27.02.2012 в 23:38)   письмо автору
 
   для: TavRoX   (27.02.2012 в 21:07)
 

Можно. На каждую ссылку отдельное правило. Либо там еще можно как-то RewriteMap прикрутить. С этим я не разбирался. Можете тут поизучать: Модуль Apache mod_rewrite. Но это, мне кажется, не очень просто.

  Ответить  
 
 автор: TavRoX   (28.02.2012 в 00:25)   письмо автору
 
   для: Sfinks   (27.02.2012 в 23:38)
 

а если сделать к примеру такое, делаю редирект в htaccess на страничку которая с ид
а на той страничке идет запрос в бд который достает тайтл_урл и делает редирект на нужную статью
так пойдет?

  Ответить  
 
 автор: Sfinks   (28.02.2012 в 09:38)   письмо автору
 
   для: TavRoX   (28.02.2012 в 00:25)
 

Да, можно и так

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования