Редирект index.php?kategory=

Статус
В этой теме нельзя размещать новые ответы.

Voshal

Мизантроп
Регистрация
30 Мар 2009
Сообщения
286
Реакции
109
Приветствую всех. Прошу прощения, если вопрос слишком простой, но разобраться не смог.

Ссылки такого вида


Необходимо, чтобы при переходе по ссылке пользователь переходил на адрес но так как такой страницы нет, чтобы она обрабатывалась, как

Читал подобные темы, попробовал реализовать так
RewriteRule /index.php?kategory=(.*) /$1\.html [R=301,L,QSA]
не работает.

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

Заранее благодарю за ответ.
 
может Вы неправильно сформулировали задачу? Обычно требуется преобразовать урлы из kategory=nokia в nokia.html и переходить по ссылкам nokia.html Если это так, то вот решение.

RewriteEngine On
RewriteRule ^([^/]*)\.html$ /index.php?kategory=$1 [L]

Если же Ваше правило, которое описали выше правильное, но не работало, то вы забыли указать RewriteEngine On
 
Вот так работает:
RewriteEngine on

RewriteRule ^([a-zA-Z0-9]+)\.html$ /?kategory=$1

RewriteCond %{QUERY_STRING} ^kategory=([a-zA-Z0-9]+)$
RewriteRule ^index\.php$ /%1.html? [R=301,N]
 
Вот так работает:
Это именно то, что мне нужно.

Еще вопросик, как сделать тоже самое только для ссылок вида news.php?title=nazvanie чтобы перенаправляло сюда news/nazvanie.html а обрабатывало, как news.php?title=nazvanie
 
Код:
RewriteRule ^([a-zA-Z0-9]+)\.html$ /news.php?zzz=zzz&title=$1

RewriteCond %{QUERY_STRING} ^title=([a-zA-Z0-9]+)$
RewriteRule ^news\.php$ /%1.html? [R=301,N]
 
Не совсем понятно зачем 3 строки, если все можно сделать в одну.
RewriteEngine On
RewriteRule ^news/([^/]*)\.html$ /news.php?title=$1 [L]
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху