Забыли пароль?
Запросите новый здесь.

Автор темы: spiker
ID темы: 38
Информация:
Тема содержит 4 сообщения, была просмотрена 1557 раз.
Просмотр темы
PHP-Fusion Russia » Поддержка 7 версии » Народное творчество
 Распечатать тему
Про ЧПУ
spiker
Вот такой код нашел у себя (когда-то решил "победить" окончательно ЧПУ, не доделал).

Скачать исходники  Код
class seoLinks {
   
   private $defaultLinks = array(
                                 //Alls
                                 '@href=\'@si',
                                 '@src=\'@si',
                                 '@\?rowstart=([0-9]+)@si',
                                 '@\?cat_id=([0-9]+)@si',
                                 //News
                                 '@news.php@si',
                                 '@\?readmore=([0-9]+)@si',
                                 //Articles
                                 '@articles.php@si',
                                 '@\?article_id=([0-9]+)@si'
                          );
   private $newLinks     = array(
                                 //Alls
                                 'href=\'/',
                                 'src=\'/',
                                 'rowstart/\\1',
                                 'cat_id/\\1',
                                 //News
                                 'news/',
                                 'readmore/\\1',
                                 //Articles
                                 'articles/',
                                 'article_id/\\1'
                          );

   public function seoOutput($content) { 
      $content = preg_replace($this->defaultLinks, $this->newLinks, $content); 
        return $content;
    }
 }




Его можно вставить, например в maincore.php

Далее в файле themes/templates/footer.php

Найти
Скачать исходники  Код
echo handle_output($output);





Выше этого вставить
Скачать исходники  Код
// ЧПУ
if (!preg_match("/administration/i", $_SERVER['REQUEST_URI'])) {
$seo = new seoLinks();
$output = $seo->seoOutput($output);
}




В итоге получаются ссылки вида .../articles/article_id/1


Файл HTACCESS

Скачать исходники  Код
RewriteEngine On
RewriteBase /


RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/([0-9]+)$ $1.php?$2=$3 [L]

RewriteRule ^([a-zA-Z0-9_]+)/$ $1.php [L]




Кому интересно, может доковырять ))
Изменил(а) spiker, 26.08.2010 21:31
 
yury
да, ставил даже на один из сайтов. работало)
 
jikaka
хм... хорошая идея, спасибо...
 
Web
BeSSeR
Интересно ab
 
Web

Поделиться этой темой
Социальные закладки: Vkontakte Odnoklassniki Mail.ru Facebook Google Tweet This
URL:
BBcode:
HTML:

Перейти на форум:
Похожие темы
Топ 5 пользователей форума
Zaxap Zaxap (1,090)   Vova Vova (877)   Pisatel Pisatel (678)   util util (666)   SchreiBear SchreiBear (625)