Как преобразовать ссылки с помощью Mod_Rewrite

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

sympler

Постоялец
Регистрация
24 Окт 2008
Сообщения
131
Реакции
6
уже второй день бьюсь над преобразованием ссылок с помощью Mod_rewrite, один тип сделаю, так второй сбивается ((((

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

Для первой, второй и третьей строки я уже написал хотя думаю что неправильно, поправьте если вдруг:

/страница.html -> RewriteRule ^([a-zA-Z0-9_-]*)?\.html$ index.php?page=$1

/запрос1.страница.html -> RewriteRule ^([a-zA-Z0-9_-]*)\.([a-zA-Z0-9_-]*)?\.html$ index.php?page=$2&act1=$1

/запрос1.запрос2.страница.html -> ???

/запрос1.запрос2.запрос3.страница.html -> ???

/категория/страница.html -> RewriteRule ^([a-zA-Z0-9_-]*)?\/([a-zA-Z0-9_-]*)?\.html$ index.php?page=$2&category=$1
/категория/запрос1.страница.html -> ??
/категория/запрос1.запрос2.страница.html -> ??
/категория/запрос1.запрос2.запрос3.страница.html -> ??

неужели не понятно? может кто моможет?
 
Код:
RewriteEngine On
RewriteRule ^([^/]*)\.html$ /index.php?page=$1 [L]
RewriteRule ^([^/]*)/([^/]*)\.html$ /index.php?page=$2&act1=$1 [L]

Дальше Урлы нужны.
 
и на этом спасибо, хотя регулярка типа ([^/]*) не подходит, нужно чтобы только латиница, тире и подчеркивание
распишу подробнее виды ссылок:
1. /страница.html -> index.php?page=страница
2. /запрос1.страница.html -> index.php?page=страница&act1=запрос1
3. /запрос1.запрос2.страница.html -> index.php?page=страница&act1=запрос1 &act2=запрос2
4. /запрос1.запрос2.запрос3.страница.html -> index.php?page=страница&act1=запрос1 &act2=запрос2 &act3=запрос3

для начала хотябы эти
 
Подскажите кто знает, есть урл вида site.com/?query=goods&size=XL
удалось привести его к виду site.com/goods/size:XL с помощью правила:
Код:
RewriteRule ^([^/]*)/size:([^/]*)$ ?query=$1&size=$2 [L]
Но теперь столкнулся с проблемой, не получается разрулить вот такой урл: site.com/?query=goods&size=L/XL, вот такая ошибка выскакивает: The requested URL /goods/size:L/XL years was not found on this server.
Видимо надо как-то регулярку иначе составлять, но как - не знаю, пользовался этим сервисом генерации модреврайта: Для просмотра ссылки Войди или Зарегистрируйся
 
Код:
RewriteRule ^([^/]*)/size:([^\n]*)$ ?query=$1&size=$2 [L]
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху