KindGood
Full Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору POLL Цитата: Эту опцию я знаю. Я не это имел ввиду. Я хотел узнать нельзя ли изменить адресацию страниц. Вместо такой конструкции /option,com_weblinks/Itemid,4/catid,8/ Чтобы было нечто простое и юзабильное. | Можно сделать так: Цитата: В файле index.php после строчки: require_once( "includes/frontend.php" ); добавляем строчку: require_once( "includes/urls.php" ); Далее в конце этого-же файла заменяем: } else { ob_end_flush(); } На: } else { $contents = ob_get_contents(); // store buffer in $contents ob_end_clean(); // delete output buffer and stop buffering echo replace_for_mod_rewrite($contents); //display modified buffer to screen } Делаем файл includes/urls.php: <?php function replace_for_mod_rewrite(&$s) { $urlin = array( "'(?<!/)index.php'", "'(?<!/)index.html\?option=content&task=view&id=12&Itemid=35'", "'(?<!/)index.html\?option=content&task=view&id=2&Itemid=25'", "'(?<!/)index.html\?option=content&task=view&id=3&Itemid=26'", ); $urlout = array( "index.html", "about/", "hosting/", "hosting/tariffs/", ); $s = preg_replace($urlin, $urlout, $s); return $s; } ?> И в .htaccess прописывам следующее: RewriteEngine On RewriteRule index.html index.php RewriteRule about(/?)$ index.php?option=content&task=view&id=12&Itemid=35 RewriteRule hosting(/?)$ index.php?option=content&task=view&id=2&Itemid=25 RewriteRule hosting/tariffs(/?)$ index.php?option=content&task=view&id=3&Itemid=26 Соответственно сколько нужно сделать ссылок, столько и соответствующих строк. Внимательно смотрим синтаксис! |
|