.htaccess Rewrite Въпрос

tahys

Registered
RewriteRule ^([^/]*)-([^/]*)-([^/]*).html$ index.php?p=$2&id=$3&title=$1 [L]
Не иска да ми отвори страницата последното не го засича на всички страници който искам да си сложа накрая .html като го сложа и спира да ми взима гет-а :?
 
Пробвай така

Код:
RewriteRule (.*)-(.*)-(.*)\.(htm|html)$ index.php?p=$2&id=$3&title=$1 [L]

или

Код:
RewriteRule (.*)-(.*)-(.*)\.htm$ index.php?p=$2&id=$3&title=$1 [L]
RewriteRule (.*)-(.*)-(.*)\.html$ index.php?p=$2&id=$3&title=$1 [L]
 
tahys каза:
Значи малко го промених и работи но като напиша .html не работи само на .htm

RewriteRule (.*)-(.*)-(.*)\.htm$ index.php?p=$2&id=$3&title=$1 [L]

еми то няма как да ти изведе всичко както трябва защото с (.*) казваш вземи всичко след, и от там ти се осира отварянето, а имаш 3 пъти това условие

направи го така
Код:
RewriteRule ([^\/.*]+)-([^\/.*]+)-([^\/.*]+)\.html?$ index.php?p=$2&id=$3&title=$1

въпреки, че това html може да не го слагаш въобще и ще се получи по-добре

Код:
RewriteRule ([^\/.*]+)-([^\/.*]+)-([^\/.*]+)?$ index.php?p=$2&id=$3&title=$1
 
embaka каза:
tahys каза:
Значи малко го промених и работи но като напиша .html не работи само на .htm

RewriteRule (.*)-(.*)-(.*)\.htm$ index.php?p=$2&id=$3&title=$1 [L]

еми то няма как да ти изведе всичко както трябва защото с (.*) казваш вземи всичко след, и от там ти се осира отварянето, а имаш 3 пъти това условие

направи го така
Код:
RewriteRule ([^\/.*]+)-([^\/.*]+)-([^\/.*]+)\.html?$ index.php?p=$2&id=$3&title=$1

въпреки, че това html може да не го слагаш въобще и ще се получи по-добре

Код:
RewriteRule ([^\/.*]+)-([^\/.*]+)-([^\/.*]+)?$ index.php?p=$2&id=$3&title=$1
Това като му напиша .html накрая и ми взима само ?p= другите 2 изобщо не ги важи...
@relax15pyt твоят начин нестава ;-(
 
Код:
 RewriteRule ([0-9]+)-([0-9]+)-([^\/.*]+).html?$ index.php?p=$2&id=$3&title=$1 [L]

я обясни как го пишеш в адреса, че нещо ми се струва, че не е от htaccess, а от теб проблема, но ако имаш подобен адрес за друга страница няма да работи 100%

това трябва да е в адреса така

http://www.saita.com/9-5-някакъв си текст.html
 
embaka каза:
Код:
 RewriteRule ([0-9]+)-([0-9]+)-([^\/.*]+)-\.html?$ index.php?p=$2&id=$3&title=$1 [L]

я обясни как го пишеш в ареса, че нещо ми се струва, че не е от htaccess, а от теб проблема

site.com/izpylnitel-pesen-mp3-id.html
 
tahys каза:
embaka каза:
Код:
 RewriteRule ([0-9]+)-([0-9]+)-([^\/.*]+)-\.html?$ index.php?p=$2&id=$3&title=$1 [L]

я обясни как го пишеш в ареса, че нещо ми се струва, че не е от htaccess, а от теб проблема

site.com/izpylnitel-pesen-mp3-id.html

я дефинирай кое какво е

$p - страница номер

$id - номер

$title - име

??????

ако ползваш някакви цифри ги напиши в урл-то, защото не го пишеш както трябва
 
preslava-edinstven-ti-mp3-18.html

$title Взимам го от БД => preslava-edinstven-ti
$p = Взима страницата mp3,video и т.н
$id= Номера в БД ...

Титле не играе никва роля никъде не го използвам .. взимам единствено $p и $id ...
 
relax15pyt каза:
Аз тествах моя последния начин и си работи както трябва.

При мен взима цялото къm ?p=preslava-edinstven-ti-mp3-18 все едно а не
?p=mp3&id=18&title=preslava-edinstven-ti
 
tahys каза:
preslava-edinstven-ti-mp3-18.html

$title Взимам го от БД => preslava-edinstven-ti
$p = Взима страницата mp3,video и т.н
$id= Номера в БД ...

Титле не играе никва роля никъде не го използвам .. взимам единствено $p и $id ...


значи ще стане така

RewriteRule ([^\/.*]+)-([^\/.*]+)-([0-9]+)?$ index.php?title=$1&p=$2&id=$3 [L]

и го пишеш в урл-то така

http://saita.com/preslava-edinstven-ti-mp3-18

и не забравяй да сложиш в head

<base href="http://saitati.com">


ако не вземаш тайтъла как ще ти изпише preslava-edinstven-ti урл-то?????
 
Код:
<?php
$page = $_GET['p'];
$id = $_GET['id'];
$title = $_GET['title'];

echo $title."-".$page."-".$id;
?>

Код:
RewriteEngine on

RewriteRule ^([^/]+)-([^/]+)-([^/]+)\.(html|htm)$ tahys-wt.php?p=$2&id=$3&title=$1 [L]

в адресбара

Код:
preslava-edinstven-ti-mp3-18.html
 
embaka каза:
tahys каза:
preslava-edinstven-ti-mp3-18.html

$title Взимам го от БД => preslava-edinstven-ti
$p = Взима страницата mp3,video и т.н
$id= Номера в БД ...

Титле не играе никва роля никъде не го използвам .. взимам единствено $p и $id ...


значи ще стане така

RewriteRule ([^\/.*]+)-([^\/.*]+)-([0-9]+)?$ index.php?title=$1&p=$2&id=$3 [L]

и го пишеш в урл-то така

http://saita.com/preslava-edinstven-ti-mp3-18

и не забравяй да сложиш в head

<base href="http://saitati.com">

Така става работи перфекно но въпроса ми е дали не може и .html да добавя отзад... ако няма начин и това е вариянт .
 
relax15pyt каза:
Код:
<?php
$page = $_GET['p'];
$id = $_GET['id'];
$title = $_GET['title'];

echo $title."-".$page."-".$id;
?>

Код:
RewriteEngine on

RewriteRule ^([^/]+)-([^/]+)-([^/]+)\.(html|htm)$ tahys-wt.php?p=$2&id=$3&title=$1 [L]

в адресбара

Код:
preslava-edinstven-ti-mp3-18.html

Сложи накрая по 1 <br /> да видиш че само ?p ще ти изведе резултат поне при мен е така
 
Това пък <br /> ми е много чудно от къде по-точно ще го вземеш ? Иначе щом ти харесва на ембака в края на условието сложи

Код:
\.(html|htm)$
 
embaka каза:
RewriteRule ([^\/.*]+)-([^\/.*]+)-([0-9]+)\.html?$ index.php?title=$1&p=$2&id=$3 [L]

Понеже реших да си взема всички заявки и да ги запиша за да видя какво ми подава като напиша
preslava-edinstven-ti-mp3-18.html
Ето какво се записва в файла:
index.php?=p=preslava-edinstven-ti-mp3-18

Взимам всички $_GET заявки така $_SERVER['QUERY_STRING']


@relax15pyt
Сложи го кодато принтираш $_GET-a да видиш че всичко се присвоява на променливата $_GET['p'] защото като са на 1 ред можеш да се объркаш
 
tahys каза:
embaka каза:
RewriteRule ([^\/.*]+)-([^\/.*]+)-([0-9]+)\.html?$ index.php?title=$1&p=$2&id=$3 [L]

Понеже реших да си взема всички заявки и да ги запиша за да видя какво ми подава като напиша
preslava-edinstven-ti-mp3-18.html
Ето какво се записва в файла:
index.php?=p=preslava-edinstven-ti-mp3-18

Взимам всички $_GET заявки така $_SERVER['QUERY_STRING']


@relax15pyt
Сложи го кодато принтираш $_GET-a да видиш че всичко се присвоява на променливата $_GET['p'] защото като са на 1 ред можеш да се объркаш

ако всичко се взема в p

значи ще е така

RewriteRule ([^\/.*]+)\.html?$ index.php?&p=$1 [L][/quote]
 

Back
Горе