Решил вот до mod rewrite`a добораться :D
Вообщем у меня есть список товаров. Делаю для каждого отдельную страницу.
Например хочу чтобы адрес выглядел как товар/производитель/модель
и вместо product.php?product=pylesos&proiz=sony&model=23
было бы /pylesos/sony/23
Но в статьях в интернете нашел только что-то наподобие этого:
RewriteEngine on
RewriteRule ^product/([A-Za-z]+)/([A-Za-z]+)/([0-9]+) ... и т.д.
При этом в url мы так же заменям значние GET`ов. Но зачем тогда, скажите, заменять значние GET`ов если и без них все работает, но причем можно писать любое значние, существует такой товар или нет. И как проверять есть товар или нет, если никаких значний в product.php не поступает?
Вообщем, объясните все как правильно, и как оно вообще работает :)
Спустя 12 часов, 12 минут, 14 секунд (7.01.2012 - 11:11) VolDroN написал(а):
RewriteRule ^product/({-_a-zA-Z0-9}+)/({-_a-zA-Z0-9}+)/({0-9}+)/?$ /product.php?product=$1&proiz=$2&model=$3
в product.php поступает тот же get, т.е. ты в нём можешь написать:
if(isset($_GET['product'], $_GET['proiz'], $_GET['model']))
{
....
}
Спустя 3 дня, 5 часов, 1 минута, 39 секунд (10.01.2012 - 16:13) DmitryOpalev написал(а):
Немного исправил, спасибо)
Спустя 7 месяцев, 6 дней, 22 часа, 1 минута, 9 секунд (17.08.2012 - 14:14) dron4ik написал(а):
Цитата (VolDroN @ 7.01.2012 - 09:11) |
<pre class="sh_sourceCode" rel="code">RewriteRule ^product/({-_a-zA-Z0-9}+)/({-_a-zA-Z0-9}+)/({0-9}+)/?$ /product.php?product=&proiz=&model=</pre> в product.php поступает тот же get, т.е. ты в нём можешь написать: <pre class="sh_sourceCode" rel="php"><span class="sh_control">if</span><span class="sh_symbol">(</span><span class="sh_function">isset</span><span class="sh_symbol">(</span><span class="sh_variable">$_GET</span><span class="sh_symbol">[</span><span class="sh_string">'product'</span><span class="sh_symbol">],</span> <span class="sh_variable">$_GET</span><span class="sh_symbol">[</span><span class="sh_string">'proiz'</span><span class="sh_symbol">],</span> <span class="sh_variable">$_GET</span><span class="sh_symbol">[</span><span class="sh_string">'model'</span><span class="sh_symbol">]))</span> <span class="sh_cbracket">{</span> <span class="sh_symbol">....</span> <span class="sh_cbracket">}</span></pre> |
VolDroN подскажи, если строка урла выглядит так "/product85"
как дать скрипту индекса понять что это именно продукт и его ИД 85?
"/post132"
"/page43"
"/project2" к примеру)))
({a-z}+)({0-9}+) /?rout=$1&id=$2 Так что ли?)
Спустя 2 минуты, 51 секунда (17.08.2012 - 14:17) Игорь_Vasinsky написал(а):
распарсивать такой гет придётся - а вообще это идиотизм - т.к.
Цитата |
чтоб не кусать себя за локти во время этапа разработки - нужно думать головой во время этапа проектирования |
(с) I am
Спустя 17 минут, 23 секунды (17.08.2012 - 14:34) dron4ik написал(а):
Цитата (Игорь_Vasinsky @ 17.08.2012 - 12:17) | ||
распарсивать такой гет придётся - а вообще это идиотизм - т.к.
(с) I am |
Так на будущее спросил) а вообще разделить такую строку он способен?
Спустя 4 минуты, 42 секунды (17.08.2012 - 14:39) Игорь_Vasinsky написал(а):
ну типа того, я не очень то шарю в этом моменте
Спустя 3 часа, 12 минут, 58 секунд (17.08.2012 - 17:52) VolDroN написал(а):
Можно конечно
RewriteRule /({-a-zA-Z}+)({1-9}+)$ index.php?route=$1&id=$2
RewriteRule /({-a-zA-Z}+)({1-9}+)$ index.php?route=$1&id=$2
Спустя 1 день, 2 часа, 29 минут, 31 секунда (18.08.2012 - 20:21) dron4ik написал(а):
Цитата (VolDroN @ 17.08.2012 - 15:52) |
Можно конечно RewriteRule /({-a-zA-Z}+)({1-9}+)$ index.php?route=$1&id=$2 |
RewriteBase /
RewriteRule ^([a-zA-Z]+)([1-9]+)*$ /index.php?route=$1&id=$2
Тот не работал, но, так я понял тоже можно?
Спустя 1 день, 21 час, 47 минут, 13 секунд (20.08.2012 - 18:08) VolDroN написал(а):
точно, надо [ использовать)
Спустя 14 часов, 24 минуты, 10 секунд (21.08.2012 - 08:33) Игорь_Vasinsky написал(а):
то ли лыжи не едут, то ли я...
линк
хочу
пишу
результат 404
линк
http://site.ru/?index.php?route=page&page=home
хочу
http://site.ru/page/home.html
пишу
RewriteEngine On
RewriteRule ^([^/]*)/([^/]*)\.html$ /index.php?route=$1&page=$2 [L]
результат 404
Спустя 1 час, 27 минут, 31 секунда (21.08.2012 - 10:00) Игорь_Vasinsky написал(а):
up
Спустя 29 минут, 57 секунд (21.08.2012 - 10:30) Winston написал(а):
Игорь_Vasinsky
А так?
А так?
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/([^/]*)\.html$ index.php?route=$1&page=$2 [L,QSA]
Спустя 10 минут, 50 секунд (21.08.2012 - 10:41) Игорь_Vasinsky написал(а):
неа...
мистика
мистика
Спустя 34 минуты, 15 секунд (21.08.2012 - 11:15) dron4ik написал(а):
RewriteBase / есть?, как я понял без сеё записи нужно подставлять слеш в RewriteRule
попробуй (.*)/(.*)\.html$ index.php?route=$1&page=$2
попробуй (.*)/(.*)\.html$ index.php?route=$1&page=$2
Спустя 5 минут, 33 секунды (21.08.2012 - 11:21) Игорь_Vasinsky написал(а):
нет..
с RewriteBase / тоже пробывал
я уже даже так подставил, не работает
с RewriteBase / тоже пробывал
я уже даже так подставил, не работает
^(page)/(anonce)\.html$ /index.php?route=$1&page=$2 [L]
Спустя 23 минуты, 12 секунд (21.08.2012 - 11:44) dron4ik написал(а):
RewriteRule ^([a-zA-Z1-9]+)/([a-zA-Z1-9]+)*\.html$ /index.php?route=$1&page=$2
А так?
А так?
Спустя 2 минуты, 14 секунд (21.08.2012 - 11:46) Игорь_Vasinsky написал(а):
да тоже самое))) тут что то другое
Спустя 1 минута, 13 секунд (21.08.2012 - 11:47) dron4ik написал(а):
Я проверил у себя на хостинге, работает... Может не подключен модуль? или денвер барахлит(если на нем))
Спустя 4 минуты, 3 секунды (21.08.2012 - 11:51) Игорь_Vasinsky написал(а):
в конфиге модуль подключён, в папке он есть
я уже перегружал денвер и нефига.. хз.. говорю же мистика
на денвере то он по умолчанию включён
я уже перегружал денвер и нефига.. хз.. говорю же мистика
на денвере то он по умолчанию включён
Спустя 5 минут, 59 секунд (21.08.2012 - 11:57) dron4ik написал(а):
RewriteEngine On
RewriteRule (.*) index.php?$1
)
RewriteRule (.*) index.php?$1
)
Спустя 14 минут, 47 секунд (21.08.2012 - 12:12) Игорь_Vasinsky написал(а):
и что это даст? у меня нет обработки, я прямые редиректы делаю
Спустя 6 минут, 9 секунд (21.08.2012 - 12:18) dron4ik написал(а):
нужно починить... как так, я только понял как она работает, а вдруг полетит, у кого мне спрашивать совета?
Спустя 2 минуты, 17 секунд (21.08.2012 - 12:21) Игорь_Vasinsky написал(а):
не понял ничего
Спустя 14 минут, 26 секунд (21.08.2012 - 12:35) dron4ik написал(а):
Цитата (Игорь_Vasinsky @ 21.08.2012 - 10:21) |
не понял ничего |
почини у себя,
Если у меня тоже сломается, я к тебе приду чинить))))
Спустя 12 минут, 45 секунд (21.08.2012 - 12:48) Игорь_Vasinsky написал(а):
)))) не чинится же
Спустя 29 дней, 28 минут, 25 секунд (20.09.2012 - 13:16) dron4ik написал(а):
RewriteRule ^([a-zA-Z1-9]+)/([a-zA-Z1-9]+)$ /cat/$1.php?route=$2
Такая запись имеет право на жизнь?
Такая запись имеет право на жизнь?
_____________
Курс валют