router ? .htacces ? - как решить ?

Вопросы об установке, настройке и работе самого фреймворка

router ? .htacces ? - как решить ?

Сообщение gudvin » 29 ноя 2008, 12:13

Добрый день, вот такая стоит задача - имеется сайт который хорошо отражается в поисковиках и структура соответственно у него http://site/1.html ,http://site/2.html ... http://site/100.html . Как можно перевесить его на CI с сохранением урлов ? Пробовал
Код: Выделить всё
$route[':any'] = "mycontroller/$1";

и .htaccess
Код: Выделить всё
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php/mycontroller/$1 [L]
</IfModule>

Без результата. Я так понимаю , что где то внутри идет разбор URL url/класс/метод , но где и как безболезненно изменить это , подскажите ? В принципе есть совсем тупой вариант сделать от 1 ... 100 одноименных контролеров и решить это именно так Но может есть более интелегентный способ ?
gudvin
 
Сообщения: 3
Зарегистрирован: 29 ноя 2008, 11:44

Re: router ? .htacces ? - как решить ?

Сообщение pirrat » 29 ноя 2008, 16:37

не совсем понятно как будут формироваться эти страницы, но можно сделать так:

Код: Выделить всё
RewriteEngine on
RewriteCond $1 !^(index\.php|robots\.txt)
RewriteRule ^(.*)$ index.php/$1 [L]

этим кодом в .htaccess все запросы перенаправляем на index.php

в роутингах пишем такую конструкцию
Код: Выделить всё
$route['(.*)'] = "base/page/$1"; 

т.е. все запросы мы передаем контроллеру base, вызываем его метод page с параметром

т.е. в контроллере base, будет что типа:
Код: Выделить всё
  function page($page)  {
        echo 'была вызвана страница '.$page;

    }


ну и и в config.php ,пропишите конфиги:
Код: Выделить всё
$config['base_url']   = "http://site.ru/";
$config['index_page'] = "";
$config['url_suffix'] = ".html";



При заходе по адресу site.ru/100.html
будет выведено в данном случае:
Код: Выделить всё
была вызвана страница 100
CI(3проекта) -> Kohana (5 проектов) -> Yii (0)
pirrat
 
Сообщения: 114
Зарегистрирован: 02 фев 2009, 21:09

Re: router ? .htacces ? - как решить ?

Сообщение gudvin » 29 ноя 2008, 16:59

Не работает. Я примерно такое делал до этого.
gudvin
 
Сообщения: 3
Зарегистрирован: 29 ноя 2008, 11:44

Re: router ? .htacces ? - как решить ?

Сообщение pirrat » 29 ноя 2008, 17:07

Если не работает,вы должны описать ошибку если она есть или точнее описать всю проблему!
У вас сайт находится в корневой директории?
возможно не хватает в .htaccess дериктивы
Код: Выделить всё
RewriteBase /folder/

если сайт лежит не в корне...
CI(3проекта) -> Kohana (5 проектов) -> Yii (0)
pirrat
 
Сообщения: 114
Зарегистрирован: 02 фев 2009, 21:09

Re: router ? .htacces ? - как решить ?

Сообщение gudvin » 29 ноя 2008, 17:18

Сорри , действительно ошибся , невнимательно набрал код . Всё работает Спасибо
gudvin
 
Сообщения: 3
Зарегистрирован: 29 ноя 2008, 11:44


Вернуться в Общие вопросы по фреймворку

Кто сейчас на конференции

Сейчас этот форум просматривают: DarkGuard, Google [Bot] и гости: 1