Вопрос по мод-реврайт

Коля
На сайте с 04.03.2007
Offline
221
735

Добрый день!

Не особо силен в мод-реврайте поэтому знающих прошу помочь вот с такой задачкой.

poisk.php?kuda=$r&url=$url

в такую страницу переделать

$url.html

Огромное спасибо за помощь!! :smoke:

Дмитрий
На сайте с 23.08.2006
Offline
222
#1

$r откуда должен браться?

если без этого параметра, тогда так:

^(.+).html/$ poisk.php?url=$1

Разрабатываю и автоматизирую на php http://jonnyb.ru/
Ёхан Палыч
На сайте с 07.05.2006
Offline
169
#2
JonnyB:
^(.+).html/$ poisk.php?url=$1

по моему точку надо экранировать, то есть так

RewriteEngine On
RewriteRule ^pshel_otseda/(.*)/(.*)\.html$ poisk.php?kuda=$1&url=$2

PS никто Путину не хочет помогать, тенденция.

Коля
На сайте с 04.03.2007
Offline
221
#3
JonnyB:
$r откуда должен браться?
если без этого параметра, тогда так:
^(.+).html/$ poisk.php?url=$1

$r - любой может быть из скрипта берется. Как кириллицей так и латинницей, а можно быть и цифрами.

$url вида урл.

Коля
На сайте с 04.03.2007
Offline
221
#4
Ёхан Палыч:
по моему точку надо экранировать, то есть так
RewriteEngine On

RewriteRule ^pshel_otseda/(.*)/(.*)\.html$ poisk.php?kuda=$1&url=$2

..никто Путину не хочет помогать, тенденция.

А че так? Поводы есть или личное??🚬

Вы обосновывайте ваши тенденции.

Дмитрий
На сайте с 23.08.2006
Offline
222
#5

Putin, возьмем к примеру страницу about.html, какой подзапрос должен идти?

poisk.php?kuda=$r&url=about

Все-таки откуда $r берем?

Коля
На сайте с 04.03.2007
Offline
221
#6
JonnyB:
Putin, возьмем к примеру страницу about.html, какой подзапрос должен идти?
poisk.php?kuda=$r&url=about
Все-таки откуда $r берем?

$r принимает значение вида "История Карамзина" и берется из бд.

$url принимает значение вида "Istoriya Karamzina" и тоже берется из базы.

🚬

Ёхан Палыч
На сайте с 07.05.2006
Offline
169
#7
Putin:
А че так? Поводы есть или личное??
Вы обосновывайте ваши тенденции.

Да просто наблюдения - никто не кинулся посылать в поиск :) , значит - тенденция.

Putin, JonnyB правильно интересуется откуда вы берете $r, понятно что из базы, но mod_rewrite должен его взять не обращаясь к базе, а передать значения в ваш скрипт poisk.php . Сделать это только видом $url.html нельзя, нужно передать оба параметра, возможно так - history/Istoriya_Karamzina.html , в таком случае правило RewriteRule ^(.*)/(.*)\.html$ poisk.php?kuda=$1&url=$2 направит на poisk.php?kuda=history&url=Istoriya_Karamzina

если вы хотите иметь урлы вида Istoriya_Karamzina.html то передать можно только одну переменную $url, а $r останется неопределенной и тогда ее можно будет определить в самом скрипте путем обращения к бд.

Shtogrin
На сайте с 02.11.2006
Offline
95
#8

Putin, в даном случае база ни при чем. Придется объяснять на пальцах.

Вы хотите сделать новый адрес

/Istoriya Karamzina.html

который может обрабатываться скриптом

poisk.php?&url=Istoriya Karamzina

Заметьте, без аргумента $r, который отсутствует в новом адресе. Достаточно ли вашему скрипту poisk.php одного аргумента url для генерации страницы или нет?

www.shtogrin.com (http://www.shtogrin.com/). Канцтовары (http://www.invit.com.ua/). 1С Бухгалтерия (http://account.kiev.ua/).
Shtogrin
На сайте с 02.11.2006
Offline
95
#9

дубль

10 реврайтов

Коля
На сайте с 04.03.2007
Offline
221
#10

Всем огромное спасибо за помощь!

Все ответы были полезны и ценны.🚬

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий