Открыть Ответить

помогите с чпу

0

0

1
22.11.2009 08:11:53 22.11.2009 08:13:31

есть две ссылки нужно для них написать чпу

Код
1. http://ккккк.ru/index.php?name=news&post=2009-11-21

2. http://ккккк.ru/index.php?name=news&num=3

Не корректно работает чпу для второй ссылки

Проблема в том, что при переходе на следущую страницу номер страницы не передается через $_GET

в .htaccess

Код
RewriteRule ^(\w+)[\W_]post[\W_](\d+)-(\d+)-(\d+)[\W_](\d+)(.html|.htm)?$				index.php?name=$1&post=$2-$3-$4&num=$6 [NC]
RewriteRule ^(\w+)[\W_]post[\W_](\d+)-(\d+)-(\d+)(.html|.htm)?$						index.php?name=$1&post=$2-$3-$4 [NC]

в config_rewrite.php

Код
$out[] = $val.$sl."post".$sl."\\2-\\3-\\4".$sl."\\6.html";
$in[] = "'index.php\?name=".$val."&(amp;)?post=(\d+)-(\d+)-(\d+)&(amp;)?num=(\d+)'";

$out[] = $val.$sl."post".$sl."\\2-\\3-\\4.html";
	$in[] = "'index.php\?name=".$val."&(amp;)?post=(\d+)-(\d+)-(\d+)'";
ra55551
ra55551
3.75

3.75

2
23.11.2009 18:35:53 23.11.2009 19:03:06

ra55551, что-то я не до конца понял, если ошибка во второй ссылке, то рассуждаем дальше:

вторая ссылка выглядит так:

Код
http://ккккк.ru/index.php?name=news&num=3

а обрабатываете Вы её правилом:

Код
index.php\?name=".$val."&(amp;)?post=(\d+)-(\d+)-(\d+)&(amp;)?num=(\d+)

тоесть вообще не подходящим под эту ссылку!!!
Или Вы вторую ссылку указали не правильно, должна быть так:

Код
http://ккккк.ru/index.php?name=news&post=2009-11-21&num=3

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

Чему верить то? Ссылки верные, или же они должны выглядеть так???

Код
http://ккккк.ru/index.php?name=news&post=2009-11-21
http://ккккк.ru/index.php?name=news&post=2009-11-21&num=3
GRAFLEKX
GRAFLEKX
3.92

3.92

3
23.11.2009 18:47:20 23.11.2009 18:50:19

Если ссылки должны выглядеть так:

Код
http://ккккк.ru/index.php?name=news&post=2009-11-21
http://ккккк.ru/index.php?name=news&post=2009-11-21&num=3

в config_rewrite.php:

Код
$out[] = $val.$sl."post".$sl."\\2-\\3-\\4-\\6.html";
$in[] = "'index.php\?name=".$val."&(amp;)?post=(\d+)-(\d+)-(\d+)&(amp;)?num=(\d+)'";
$out[] = $val.$sl."post".$sl."\\2-\\3-\\4.html";
$in[] = "'index.php\?name=".$val."&(amp;)?post=(\d+)-(\d+)-(\d+)'";

в .htaccess:

Код
RewriteRule ^(\w+)[\W_]post[\W_](\d+)-(\d+)-(\d+)[\W_](\d+)(.html|.htm)?$ index.php?name=$1&post=$2-$3-$4&num=$6 [NC]
RewriteRule ^(\w+)[\W_]post[\W_](\d+)-(\d+)-(\d+)(.html|.htm)?$ index.php?name=$1&post=$2-$3-$4 [NC]

Тогда после обработки они будут такими:

Код
http://ккккк.ru/newspost2009-11-21.html
http://ккккк.ru/newspost2009-11-21-3.html
GRAFLEKX
GRAFLEKX
3.92

3.92

4
24.11.2009 08:38:46

спасибо, но проблема решена

ra55551
ra55551
3.75

3.75

5
24.11.2009 09:25:01

ra55551, а как хоть решена то? Не секрет? Думаю другим тоже полезно знать про регулярки...

GRAFLEKX
GRAFLEKX
3.92

3.92

Открыть Ответить
Хотите опробовать SLAED CMS в действии?
Идеи и предложения
Обратная связь
Подтверждение

Поделиться
QR-код

Предварительный просмотр