Новичок
Покинул форум
Сообщений всего: 38
Дата рег-ции: Окт. 2010
Помог: 0 раз(а)
|
Здравствуйте! Делаю чпу ссылки с помощью .htaccess
вот его код
CODE ( htmlphp):
скопировать код в буфер обмена
php_flag display_errors off AddDefaultCharset utf-8 ErrorDocument 404 /error.html RewriteEngine on RewriteBase / RewriteRule ^index\.php$ http://mysite.ru/ [R=301,L] RewriteRule ^about/?$ about.php [QSA,L] RewriteRule ^partners/?$ partners.php [QSA,L] RewriteRule ^([a-zA-Z0-9]+)-([0-9]*)/?$ razdel.php?trans=$1&idrz=$2 [QSA,L]
вот ссылка, которую надо отЧПУшить
в ней $trans_name_razdel название раздела (берется из БД) и прогоняется через функцию транслита (ее код ниже) и $id_razdel - идентификатор раздела, нужен для передачи скрипту.
вот функция транслитерации
PHP:
скопировать код в буфер обмена
function translite ($st) { "А"=>"A","Б"=>"B","В"=>"V","Г"=>"G", "Д"=>"D","Е"=>"E","Ж"=>"J","З"=>"Z","И"=>"I", "Й"=>"Y","К"=>"K","Л"=>"L","М"=>"M","Н"=>"N", "О"=>"O","П"=>"P","Р"=>"R","С"=>"S","Т"=>"T", "У"=>"U","Ф"=>"F","Х"=>"H","Ц"=>"TS","Ч"=>"CH", "Ш"=>"SH","Щ"=>"SCH","Ъ"=>"","Ы"=>"YI","Ь"=>"", "Э"=>"E","Ю"=>"YU","Я"=>"YA","а"=>"a","б"=>"b", "в"=>"v","г"=>"g","д"=>"d","е"=>"e","ж"=>"j", "з"=>"z","и"=>"i","й"=>"y","к"=>"k","л"=>"l", "м"=>"m","н"=>"n","о"=>"o","п"=>"p","р"=>"r", "с"=>"s","т"=>"t","у"=>"u","ф"=>"f","х"=>"h", "ц"=>"ts","ч"=>"ch","ш"=>"sh","щ"=>"sch","ъ"=>"y", "ы"=>"yi","ь"=>"","э"=>"e","ю"=>"yu","я"=>"ya" ) ); return $st; }
Проблема в том, что если в названии раздела одно слово, без пробелов, запятых и проч. то все работает, ссылка принимает вид
http://mysite[dot]ru/razdelname-1
и пользователь попадает в нужный раздел
если название раздела такое Раздел про сказки,
то ссылка принимает вид
http://mysite[dot]ru/razdel-pro-skazki-1
и выкидывает на 404 ошибку
Подскажите, что и где поправить?(Отредактировано автором: 08 Февраля, 2012 - 09:13:02)
|