volkodav2000
Пользователь
Как на счет ЧПУ advanced?
Что-то типа такого:
SQL
functions.php
functons_post.php
.htaccess
урл получаються типа
Тоже самое с форумами.
Но поменять все линки на форуме не осилил...
Для SEO это было бы весомо
PS $extended_chars='αάβγδεέξηήθιίϊκλμνξοόπρσςτυύϋφχψωώΑΆΒΓΔΕΈΖΗΉΘΙΊΪΚΛΜΝΞΟΌΠΡΣΤΥΎΫΦΧΨΩΏ';
Делал для греческого сайта
Что-то типа такого:
SQL
Код:
ALTER TABLE `bb_topics` ADD `slug` VARCHAR( 50 ) NOT NULL
PHP:
function generateSlug($str)
{
$extended_chars='αάβγδεέξηήθιίϊκλμνξοόπρσςτυύϋφχψωώΑΆΒΓΔΕΈΖΗΉΘΙΊΪΚΛΜΝΞΟΌΠΡΣΤΥΎΫΦΧΨΩΏ';
$replace = '-';
$trans = array(
'&\#\d+?;' => '',
'&\S+?;' => '',
'\s+' => $replace,
'[^a-z0-9'.$extended_chars.'\-\._]' => '',
$replace.'+' => $replace,
$replace.'$' => $replace,
'^'.$replace => $replace,
'\.+$' => ''
);
$str = strip_tags($str);
foreach ($trans as $key => $val)
{
$str = preg_replace("#".$key."#i", $val, $str);
}
if (function_exists('mb_strtolower'))
{
$str = mb_strtolower($str, 'UTF-8');
} else {
$str = strtolower($str);
}
return trim(stripslashes($str));
}
PHP:
if ($mode == 'newtopic' || ($mode == 'editpost' && $post_data['first_post']))
{
$topic_vote = (!empty($poll_title) && count($poll_options) >= 2) ? 1 : 0;
$topic_dl_type = (isset($_POST['topic_dl_type']) && ($post_info['allow_reg_tracker'] || $post_info['allow_dl_topic'] || $is_auth['auth_mod'])) ? TOPIC_DL_TYPE_DL : TOPIC_DL_TYPE_NORMAL;
$topic_slug = generateSlug($post_subject);
$sql = ($mode != "editpost") ? "INSERT INTO " . BB_TOPICS . " (topic_title, topic_poster, topic_time, forum_id, topic_status, topic_type, topic_dl_type, topic_vote) VALUES ('$post_subject', " . $userdata['user_id'] . ", $current_time, $forum_id, " . TOPIC_UNLOCKED . ", $topic_type, $topic_dl_type, $topic_vote)" : "UPDATE " . BB_TOPICS . " SET topic_title = '$post_subject', topic_type = $topic_type, topic_dl_type = $topic_dl_type " . ((@$post_data['edit_vote'] || !empty($poll_title)) ? ", topic_vote = " . $topic_vote : "") . ",slug = '$topic_slug-$topic_id' WHERE topic_id = $topic_id";
if (!DB()->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
}
}
if ($mode == 'newtopic')
{
$topic_id = DB()->sql_nextid();
$sql_slug = "UPDATE " . BB_TOPICS . " SET slug = '$topic_slug-$topic_id' WHERE topic_id = $topic_id";
DB()->sql_query($sql_slug);
}
}
Код:
RewriteRule -t([0-9*])(.*) viewtopic.php?t=$1$2 [L]
урл получаються типа
Тоже самое с форумами.
Но поменять все линки на форуме не осилил...
Для SEO это было бы весомо
PS $extended_chars='αάβγδεέξηήθιίϊκλμνξοόπρσςτυύϋφχψωώΑΆΒΓΔΕΈΖΗΉΘΙΊΪΚΛΜΝΞΟΌΠΡΣΤΥΎΫΦΧΨΩΏ';
Делал для греческого сайта