Яндекс к нему нейтрально относится, а вот "ранжирование" от такого ИД в ссылке практически сводится на нет. Советую его убрать пока есть возможность. :)
Вот блин, а ведь верно, сколько там страниц для редиректа то?
Если их несколько, можно просто для каждой прописать свой редирект отдельно. Или решили перейти с одного вида чпу на другой?
Хз, я тестил у себя - работает. Поковыряйте базу, может поля не совпадают.
awilum, простите, а что такое "к.о."?
:)
Таблицы выбираются во время sql запроса, подключится нужно к mysql и выбрать базу данных.
Ладно, вот полностью рабочий код
<?php #проверяем если ид числовой if( !is_numeric($_SERVER['QUERY_STRING']) ) { echo ' Недопустимый формат ID'; exit; } #mysql_host - mysq хост #login - логин от бд mysql_connect("mysql_host", "login", "pass") or die ('Could not connect to MySQL'); #db - имя базы данных mysql_select_db ("db") or die ('Could not select database'); $row = mysql_query( 'SELECT id,alt_name FROM dle_post where id='.mysql_escape_string($_SERVER['QUERY_STRING']) ); $cpu = mysql_fetch_assoc($row); if( empty($cpu['id']) ) { echo ' ID пуст '; exit; } $url = $cpu['id'].'-'.$cpu['alt_name'].'.html'; mysql_close(); header( 'Location: /'.$url, true, 301 ); exit; ?>
После отладки, если ИД не пройдет проверку можно редиректить всех на главную страницу сайта.
MediaWiki интегрирована с форумом?
В скрипте уже можно завершить урл, вытягивая из бд остальную часть с ЧПУ и сделать 301 редирект на новый адрес.
например для дле:
#alt_name - сео_тайтл #dle_post - таблица $row = mysql_query( 'SELECT id,alt_name FROM dle_post where id='.mysql_escape_string($_SERVER['QUERY_STRING']) ); $cpu = mysql_fetch_assoc($row); $url = $cpu['id'].'-'.$cpu['alt_name'].'.html'; #редирект header( 'Location: /'.$url, true, 301 ); exit;
Получим ссылку /123-тайтл-новости
Подскажем - редирект на php :)
RewriteRule ^(\d+).html$ r.php?$1 [L]
RewriteEngine On RewriteCond {QUERY_STRING} ^in=index0.php RewriteRule .* http://domen/? [L,R=301] RewriteCond {QUERY_STRING} ^in=priceuslug.php RewriteRule .* http://domen/prais-list.html? [L,R=301]
и далее в том же духе по этому образу.
Более интуитивный вариант:
RewriteCond %{REQUEST_URI} !robots.txt$ [NC] RewriteRule (.*) http://newsite.ru/$1 [R=301,L]
Смотря в каком количестве нужно передать тиц и пр. :)