Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » [решено] Вопрос по mod_rewrite

Ответить
Настройки темы
[решено] Вопрос по mod_rewrite

Новый участник


Сообщения: 23
Благодарности: 0

Профиль | Отправить PM | Цитировать


Вот адрес http://www.site.ru/tovar.php?mod=cat...=33&tov_id=328
Напишите пожалуйста строку RewriteRule, чтобы адрес выглядел как
http://www.site.ru/tovar/cat/33/328

Отправлено: 11:12, 31-10-2011

 

Deadooshka


Сообщения: 2482
Благодарности: 671

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
RewriteRule tovar\/cat\/([0-9]+)\/([0-9]+)\/?$ tovar.php?mod=cat&cat_id=$1&tov_id=$2

Отправлено: 11:31, 31-10-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Новый участник


Сообщения: 23
Благодарности: 0

Профиль | Отправить PM | Цитировать


Не получается, чуть переделал вот
Код: Выделить весь код
RewriteRule ^tovar/cat/([0-9]+)/([0-9]+)/? tovar.php?mod=cat&cat_id=$1&tov_id=$2 [L]
, все равно не то

Отправлено: 12:03, 31-10-2011 | #3


Deadooshka


Сообщения: 2482
Благодарности: 671

Профиль | Отправить PM | Цитировать


Что переделали - можете объяснить смысл? В каком контексте выполняется правило? Какие другие правила в этом же конфиге? Есть ли сторонние правила (nginx и тд)?

Отправлено: 12:11, 31-10-2011 | #4


Новый участник


Сообщения: 23
Благодарности: 0

Профиль | Отправить PM | Цитировать


Скрипт тестируется на Денвере, сторонних правил нет. А переделал - вашу строчку, убрал обратные слэши.
Вот содержимое файла .htaccess
Код: Выделить весь код
RewriteEngine on
RewriteRule ^tovar/cat/([0-9]+)/? tovar.php?act=cat&cat_id=$1 [L]
RewriteRule ^tovar/cat/([0-9]+)/([0-9]+)/? tovar.php?mod=cat&cat_id=$1&tov_id=$2 [L]
в первом случае выводится список товаров, все нормально работает, во втором - информация о товаре, вот тут проблемы... скрипт судя по всему игнорирует параметр tov_id

Отправлено: 13:07, 31-10-2011 | #5


Deadooshka


Сообщения: 2482
Благодарности: 671

Профиль | Отправить PM | Цитировать


второе не сработает, поскольку совпадает с первым.
Цитата SadWolf:
убрал обратные слэши »
это экранирование, не критично

Чтобы правила работали, задайте конец урла $ (как в посте 2). Еще лучше - сделать одно общее.

Отправлено: 13:26, 31-10-2011 | #6


Новый участник


Сообщения: 23
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Sham:
второе не сработает, поскольку совпадает с первым. »
и каков же выход?

Отправлено: 13:46, 31-10-2011 | #7


Deadooshka


Сообщения: 2482
Благодарности: 671

Профиль | Отправить PM | Цитировать


Цитата Sham:
задайте конец урла $ (как в посте 2). »
Код: Выделить весь код
RewriteEngine on
RewriteRule ^tovar/cat/([0-9]+)/?$ tovar.php?act=cat&cat_id=$1 [L]
RewriteRule ^tovar/cat/([0-9]+)/([0-9]+)/?$ tovar.php?mod=cat&cat_id=$1&tov_id=$2 [L]
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:09, 31-10-2011 | #8


Новый участник


Сообщения: 23
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо, задача решена. Можно было еще так: во второй строчке заменить tovar на, например, tovarinfo

Отправлено: 17:14, 31-10-2011 | #9



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » [решено] Вопрос по mod_rewrite

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
mod_rewrite: правило для браузеров IE 5/6 blacks2 Вебмастеру 10 08-02-2010 10:33
mod_rewrite kishert Вебмастеру 3 10-03-2009 06:52
mod_rewrite PHANTOM777 Вебмастеру 1 20-07-2008 10:00
[решено] Проблема с mod_rewrite. cyb0rg Вебмастеру 3 31-05-2008 14:49
Проблема с преобразованием в mod_rewrite trnovm Вебмастеру 1 11-04-2008 20:34




 
Переход