Отностно линка

sentenello

Registered
Здравейте,
До момента имам файл който "генерира" мачове като ги изкарвам така.
www.saita.com/macha?id=12312


Целта ми е да направя линка от сорта на това..
www.saita.com/otbora-otborb-liga-pyrvenstvo-data

Мога да го направя със заявка която проверява отборите,лигата и първенството и от таблица в БД ги прави на латиница, но според мен това ще прави много заявки и не е удачен вариант. Затова питам вас за помощ.

П.С. Знам, че има нещо общо .htaccess в този случай, но идея си нямам как да го направя от там, АКО е от там
 
Трябва ти .htaccess, но не само.

1. htaccess файла ще бъде нещо като този код:

Код:
RewriteEngine On
RewriteRule ^(\w+)-(\w+)-(\w+)-(\w+)-(\w+)$ info.php?otbora=$1&otborb=$2&liga=$3&pyrvenstvo=$4&data=$5

Тук обаче има един проблем - датата. В зависимост от това, как точно ще я изписваш, последната група ще се наложи да се разбие на три под-групи, защото сега ще работи само с цял низ:

example.com/otbora-orborb-liga-pyrvenstvo-20110501

1. След това във файла info.php (или както там се казва, ще трябва да търсиш отборите по това, което идва в URL, затова като създаваш нов отбор, в таблицата в базата данни най-добре е да имаш не само име на отбора, но и url име:

team_id | name | url_name
1 | ЦСКА | cska

Така ще ги откриваш по-лесно и бързо.
 

Променливата $1 от къде трябва да я вземам в .htaccess-a. Или по-точно какво да направя във файла info.php, че $1 да е еди си коя стоиност според зависи ид-то.
 
RewriteRule се състои от две части - първата е шаблон, за който сървъра претърсва в REQUEST_URI, втората е правилото по което да пренапише адреса.

$1, $2 и т.н. не са променливи. Това са поредните номера на съвпаденията от шаблона. Съответно $1 е първата част от шаблона, $2 е втората и т.н.

Пример (не съм много в час с футбола):

example.com/cska-levski-pfa-26-20110501

В случая:

$1 = cska
$2 = levski
$3 = pfa
$4 = 26
$5 = 20110501

Ако използваш .htaccess файла, който написах по-рано, ще можеш да достигнеш до тези стойности през GET:

$_GET['otbora'] = cska
$_GET['otborb'] = levski
$_GET['liga'] = pfa
$_GET['pyrvenstvo'] = 26
$_GET['data'] = 20110501
 

Back
Горе