.htaccess въпрос

niki_noki

Registered
Здравейте :)

song.php?name=Анелия%20-%20Така%20ме%20кефиш

Това ми е линка сега, но искам да стане

saita.com/анелия_-_така_ме_кефиш.html

Как може да стане ?

Прегледах някои теми в форума, но нещо не мога да си го нагодя :S
 
На български, мисля че няма как да стане, но иначе
Код:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^songs/play/([^/]*)$ song.php?play=$1 [L]
</IfModule>
И съм си направил едно поле, което прави следното
Поле: rewrite и то е в $_GET
а ето как се получава
PHP:
function latinica($lat){
        $latinica=array("a","b","v", "g","d","e", "j", "z", "i", "ii", "k", "l", "m","n","o", "p","r","s", "t","u","f", "h","c","ch" , "sh","sht", "u", "io", "iu", "q", "A","B","V", "G","D","E", "J", "Z", "I", "II", "K", "L", "M","N","O", "P","R","S", "T","U","F", "H","C","CH" , "SH","SHT", "U", "IO", "IU", "Q", "4", "6", "6t", "-", "-", "-"); //латинските букви
        $kirilica=array("а", "б", "в", "г", "д", "е", "ж", "з", "и", "й", "к", "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", "щ", "ъ", "ь", "ю", "я", "А", "Б", "В", "Г", "Д", "Е", "Ж", "З", "И", "Й", "К", "Л", "М", "Н", "О", "П", "Р", "С", "Т", "У", "Ф", "Х", "Ц", "Ч", "Ш", "Щ", "Ъ", "Ь", "ю", "Я", "ч", "ш", "щ", " ", ",", "."); //кирилица, съответстващ на латиницата по-горе
        $bbc_num=count($kirilica); //бройм елементите във $kirilica
        $loop=0;
        while($loop<$bbc_num){
                $lat=str_replace($kirilica[$loop], $latinica[$loop], $lat); //заместваме
                $loop++;
        }
        return $lat;
}
$title = "Анелия - Така ме кефиш";
$title_en = latinica($title);
echo $title_en;
 
Код:
function latinica($lat){
        $latinica=array("a","b","v", "g","d","e", "j", "z", "i", "ii", "k", "l", "m","n","o", "p","r","s", "t","u","f", "h","c","ch" , "sh","sht", "u", "io", "iu", "q", "A","B","V", "G","D","E", "J", "Z", "I", "II", "K", "L", "M","N","O", "P","R","S", "T","U","F", "H","C","CH" , "SH","SHT", "U", "IO", "IU", "Q", "4", "6", "6t", "-", "-", "-"); //латинските букви
        $kirilica=array("а", "б", "в", "г", "д", "е", "ж", "з", "и", "й", "к", "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", "щ", "ъ", "ь", "ю", "я", "А", "Б", "В", "Г", "Д", "Е", "Ж", "З", "И", "Й", "К", "Л", "М", "Н", "О", "П", "Р", "С", "Т", "У", "Ф", "Х", "Ц", "Ч", "Ш", "Щ", "Ъ", "Ь", "ю", "Я", "ч", "ш", "щ", " ", ",", "."); //кирилица, съответстващ на латиницата по-горе
        $bbc_num=count($kirilica); //бройм елементите във $kirilica
        $loop=0;
        while($loop<$bbc_num){
                $lat=str_replace($kirilica[$loop], $latinica[$loop], $lat); //заместваме
                $loop++;
        }
        return $lat;
}
$title = "Анелия - Така ме кефиш";
$title_en = latinica($title);
echo $title_en;

Това в song.php ли трябва да го сложа и как ще стане точно линка?
 
niki_noki каза:
Код:
function latinica($lat){
        $latinica=array("a","b","v", "g","d","e", "j", "z", "i", "ii", "k", "l", "m","n","o", "p","r","s", "t","u","f", "h","c","ch" , "sh","sht", "u", "io", "iu", "q", "A","B","V", "G","D","E", "J", "Z", "I", "II", "K", "L", "M","N","O", "P","R","S", "T","U","F", "H","C","CH" , "SH","SHT", "U", "IO", "IU", "Q", "4", "6", "6t", "-", "-", "-"); //латинските букви
        $kirilica=array("а", "б", "в", "г", "д", "е", "ж", "з", "и", "й", "к", "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", "щ", "ъ", "ь", "ю", "я", "А", "Б", "В", "Г", "Д", "Е", "Ж", "З", "И", "Й", "К", "Л", "М", "Н", "О", "П", "Р", "С", "Т", "У", "Ф", "Х", "Ц", "Ч", "Ш", "Щ", "Ъ", "Ь", "ю", "Я", "ч", "ш", "щ", " ", ",", "."); //кирилица, съответстващ на латиницата по-горе
        $bbc_num=count($kirilica); //бройм елементите във $kirilica
        $loop=0;
        while($loop<$bbc_num){
                $lat=str_replace($kirilica[$loop], $latinica[$loop], $lat); //заместваме
                $loop++;
        }
        return $lat;
}
$title = "Анелия - Така ме кефиш";
$title_en = latinica($title);
echo $title_en;

Това в song.php ли трябва да го сложа и как ще стане точно линка?
Не, това го слагаш в addsong и правиш ново поле в таблицата songs и там се записва полученото в $title_en
 
Styl3rbg каза:
niki_noki каза:
Така, а линка как ще стане :)
site.com/songs/anelia---taka-me-kefish
Object not found!

The requested URL was not found on this server. If you entered the URL manually please check your spelling and try again.

If you think this is a server error, please contact the webmaster.

Error 404

localhost
27.8.2011 ã. 12:30:45 ÷.
Apache/2.2.17 (Win32) mod_ssl/2.2.17 OpenSSL/0.9.8o PHP/5.3.4 mod_perl/2.0.4 Perl/v5.10.1

Записват се в бд така:

http://web-tourist.net/userfiles/4/4224.png
 
niki_noki каза:
Styl3rbg каза:
niki_noki каза:
Така, а линка как ще стане :)
site.com/songs/anelia---taka-me-kefish
Object not found!

The requested URL was not found on this server. If you entered the URL manually please check your spelling and try again.

If you think this is a server error, please contact the webmaster.

Error 404

localhost
27.8.2011 ã. 12:30:45 ÷.
Apache/2.2.17 (Win32) mod_ssl/2.2.17 OpenSSL/0.9.8o PHP/5.3.4 mod_perl/2.0.4 Perl/v5.10.1

Записват се в бд така:

http://web-tourist.net/userfiles/4/4224.png
Не,не и пак не :D
Трябва цялото име в едно поле да го запишеш, не изпълнителя и песента по отделно :)
Тоест
song_name - Анелия - Така ме кефиш
rewrite - Anelia---taka-me-kefish
 
Fakeheal каза:
@Styl3rBg Може да се направи с кирилица.
AddDefaultCharset UTF-8 в htaccess-a (:
Да, вярно бях забравил за това. Но той докато оправи да му зарежда с английски, после ако иска на български да си го прави :)
 

Back
Горе