и снова mod rewrite

12
Давид
На сайте с 12.07.2004
Offline
128
1195

Перечитал все что нашел на форуме, и в близ лежащих окресностях. НО не программер я и просто не втыкаю что и как.

если вам господа оптимизаторы, оскомину вопрос не набил, большая просьба подскажите как сделать.

В общем есть некая строчка

flats.php?a=f&i=00245&p=0&sr=0&ss=0&sn=0&sp=0

нужно привести её к виду

/flats/flat002450000.html

естественно вместо 00245 и причиих нулей могут быть другие цифры. вроде все, наверное это для когото просто и прозрачно но для меня , увы :(.

Z
На сайте с 03.01.2004
Offline
32
#1

Пересчитай число нулей в первой и второй ссылке и чётче переформулируй как должно осуществляться преобразование.

Давид
На сайте с 12.07.2004
Offline
128
#2
Как писал Zute
Пересчитай число нулей в первой и второй ссылке и чётче переформулируй как должно осуществляться преобразование.

Ок должно получатся так

flats/flatsf5600000.html

причем первые пять цифр это некий идентификатор, а оставшиеся пять цифр могут и не быть нулями, все зависит от конкретного запроса :(

то есть

flats/flats0045640600.html

Грубо говоря из строчки

flats.php?a=f&i=00351&p=0&sr=0&ss=0&sn=0&sp=0

должны остаться только передаваемые параметры, которые прибавяться после слова flats и перед .html

спасибо что откликнулись.

Z
На сайте с 03.01.2004
Offline
32
#3

Тогда что-то вроде этого:

RewriteRule ^/flats.php\?a=([^&]*)&i=([^&]*)&p=([^&]*)&sr=([^&]*)&ss=([^&]*)&sn=([^&]*)&sp=([^&]*)$ /flats/flats$1$2$3$4$5$6$7.html

Попробуйте прочитать чо-нибудь про регулярные выражения.

Давид
На сайте с 12.07.2004
Offline
128
#4

Спасибо большое, попробую

Давид
На сайте с 12.07.2004
Offline
128
#5

эхехе, не не работает. Про выражения регулярные прочитал, но.

.RewriteRule ^(.+)\[a-z]\[0-9]{3,5}\[0-9]{2}\[0-9]{1,2}\[0-9]{1,2}\[0-9]{1,2}\[0-9]{1,2}\.html$

/$1/a=$2&p=$3&sr=$4&ss=$5&sn=$6&sp=$7

тоже не работает. Людии ......

Lisa
На сайте с 31.01.2002
Offline
438
#6

А не проще ли что-то вроде

RewriteRule ^([^\.\?/]+)/[a-z]([0-9]+).html$ /$1.php?a=$2&param=$3

А потом param уже скриптом разбирать, сколько там цифр и какие к чему относятся?

Digital Development (https://ddplanet.ru/)
Z
На сайте с 03.01.2004
Offline
32
#7
Как писал Давид
Спасибо большое, попробую

Хм, судя по такому развороту, что во что переводить собрались, и вообще, RewriteEngine On стоит ?

Давид
На сайте с 12.07.2004
Offline
128
#8
Как писал Zute

и вообще, RewriteEngine On стоит ?

Стоит, правда я окончательно запутался :(

A
На сайте с 23.10.2003
Offline
196
#9

RewriteRule ^/flats.php\?a=f\&i=(\d+)\&p=(\d+)\&sr=(\d+)\&ss=(\d+)\&sn=(\d+)\&sp=(\d+)$ /flats/flat$1$2$3$4$5$6.html [L]

андроид ТВ (http://qway.com.ua/android_tv) и экшн камеры (qway.com.ua/action-cameras) в Украине.
Давид
На сайте с 12.07.2004
Offline
128
#10

Спасибо огромное всем , только вот все равно гм, не работает.

я попробовал след строку упростив передачу ккучи параметров до двух штук.

RewriteEngine On

RewriteRule flats.php flats.html

RewriteRule ^/flats.php\?a=f\&i=(\d+)$ /flats/flat$1.html [L]

на просьбу показать мне страницу вида

flats.html - все нормально

а если прошу что нить посерьезнее

.../flats/flat00299.html

The requested URL /flats/flat00299.html was not found on this server.

что делать, пожалуйста обьясните где моя ошибка ?

12

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