ЧПУ не выходит сделать.

Статус
В этой теме нельзя размещать новые ответы.
Немного не точно (так как могут быть другие еще символы)еси нужны категории
Код:
RewriteRule ^(.*)/(.*).html+$ index.php?cpu=$2&cat=$1 [L]

Если не нужны те категории
Код:
RewriteRule ^(.*).html+$ index.php?cpu=$2&cat=0 [L]

Заработало вот так
HTML:
RewriteRule ^(.*).html(/?)+$ index.php?cpu=$1&cat=0 [L]

:ay:
Я просто не указал полный путь папки в RewriteBase /
из за этого не удавалось заставить его работать.
 
Скажите пожалуйста от чего не работают данные указаные ниже

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /demo/
RewriteRule ^(.*).html(/?)+$ index.php?cpu=$1&cat=$1 [L]
RewriteRule ^cat(.*).html(/?)+$ index.php?catid=$1 [L]


и так если указан RewriteRule один из двух
любой. не важно какой
то он выполняет свое назначение.
если указать оба то
этот не работает
RewriteRule ^cat(.*).html(/?)+$ index.php?catid=$1 [L]

выдает пустую страницу


хотя так index.php?catid=6 отлично работает.
 
Если я не ошибаюсь у тебя одно правило перекрывает другое...
Вот это
RewriteRule ^(.*).html(/?)+$ index.php?cpu=$1&cat=$1 [L]
всегда будет перекрывать подобное
RewriteRule ^cat(.*).html(/?)+$ index.php?catid=$1 [L]

ибо в первом обобщенно ^(.*).html, а в другом конкретезированно ^cat(.*).html.

Хотя могу и ошибаться. Я в этом не так силен... =\
 
Arqin написал(а):
Если я не ошибаюсь у тебя одно правило перекрывает другое....
ты не ошибаешься

2асс
а если кажем немного видоизменить формирование урл новости
Скажем так
_http://sitename.com/kategoria-id/news.html

то получаем
RewriteRule ^.+-([0-9]+)(/?)+$ index.php?catid=$1 [L]
RewriteRule ^.+-([0-9]+)/(.*).html(/?)+$ index.php?cpu=$2&catid=$1 [L]
 
Добрый вечре. Снова возращаюсь к своим баранам.

Вопрсо такой , почему так работает
RewriteRule ^beeline.html$ index.php?catid=5 [L]
а так нат
RewriteRule ^beeline.html$ index.php?catid=$1[L]
 
Добрый вечре. Снова возращаюсь к своим баранам.

Вопрсо такой , почему так работает
RewriteRule ^beeline.html$ index.php?catid=5 [L]
а так нат
RewriteRule ^beeline.html$ index.php?catid=$1[L]

$1 - насколько я понимаю означает ссылку на выборку (прошу прощения если не правильно терминизирую), а сама выборка у вас не упоминается...
Чтобы разобраться более подробно необходимо увидеть весь файл и в частности эту ($1) выборку....

P.S.: Например тут:
RewriteRule ^.+-([0-9]+)(/?)+$ index.php?catid=$1 [L]

$1 - это содержимое блока ([0-9]+)
если не ошибаюсь.
 
$1 - насколько я понимаю означает ссылку на выборку (прошу прощения если не правильно терминизирую), а сама выборка у вас не упоминается...
Чтобы разобраться более подробно необходимо увидеть весь файл и в частности эту ($1) выборку....

P.S.: Например тут:
RewriteRule ^.+-([0-9]+)(/?)+$ index.php?catid=$1 [L]

$1 - это содержимое блока ([0-9]+)
если не ошибаюсь.


Я сам толком незна этот модреврайт.
У меня ссылки имеют вид
Для просмотра ссылки Войди или Зарегистрируйся

я подставляю в место 5 ки $1 выходит так
RewriteRule ^beeline$ index.php?catid=$1 [L]
но не работает.


А что значит выборка? Не пойму малость.
пример выборки покажите пожалуйста

по сути с новостями разобрался
к примеру
RewriteRule ^(.*).html(/?)+$ index.php?cpu=$1&cat=$1 [L]

мне отдает сылку на новость
ссылка имеет вида index.php?cpu=66
после обработки имеем 66.html
 
Читайте мой P.S. там на примере показано.

В вашем примере:
RewriteRule ^(.*).html(/?)+$ index.php?cpu=$1&cat=$1 [L]
$1 - это содержимое блока (.*), т.е.
при обращении к примеру к урл bla-bla.html сервер обратится к index.php?cpu=bla-bla&cat=bla-bla
 
Читайте мой P.S. там на примере показано.

В вашем примере:
RewriteRule ^(.*).html(/?)+$ index.php?cpu=$1&cat=$1 [L]
$1 - это содержимое блока (.*), т.е.
при обращении к примеру к урл bla-bla.html сервер обратится к index.php?cpu=bla-bla&cat=bla-bla

Я понял Что вы имели ввиду о выборке, честно не знал об этом раньше.

смотрите
RewriteRule ^beeline.html$ index.php?catid=$1[L]

выборка идет по слову beeline.html
index.php?catid=beeline.html

должно сработать так index.php?catid=beeline и оно работает

но если я подставляю его так ^beeline.html$
то оно не срабатывает.


Можно сделать так ^(.*).html$ только не пашет.
 
RewriteRule ^beeline.html$ index.php?catid=$1[L]
В данном случае выбоорки нет никакой и ошибка сводиться к тому что $1=''
RewriteRule ^([^.]+).html$ index.php?cat=$1 [L]
2acc Определитсь что есть в вашем случае категория и что есть новость и нинадо пихать их под один вид :)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху